基于tiny4412的Linux内核移植 ---- 調試方法

Publisher:fnfeecjknqucLatest update time:2023-06-21 Source: elecfansKeywords:tiny4412  Linux  内核移植 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

平臺

Linux-4.4.4


uboot使用的是友善自帶的(爲了支持uImage和設備樹做了稍許修改)


Overview

這篇博客主要用於匯總一下調試方法。


text

1. dnw下載


目前我將uboot燒寫到SD卡中,然後使用dnw將kernel、根文件系統以及設備樹鏡像下載到內存中,爲了提高效率,可以使用下面的方法:


在uboot中添加環境變量:


setenv dnw_up 'dnw 0x40600000; dnw 0x41000000; dnw 0x42000000; bootm 0x40600000 0x41000000 0x42000000'

 進入uboot終端後,執行如下命令:


run dnw_up

 然後可以看到如下log:


此時將PC上下載鏡像的命令也弄成腳本:


#!/bin/bash


if [ -e /home/pengdonglin/tiny4412/SysPort/linux-4.4_tiny4412/arch/arm/boot/uImage ];then

    sudo dnw /home/pengdonglin/tiny4412/SysPort/linux-4.4_tiny4412/arch/arm/boot/uImage

else

    echo "uImage not exist"

    exit -1

be


sleep 1


if [ -e /home/pengdonglin/tiny4412/SysPort/rootfs/ramdisk.img ];then

    sudo dnw /home/pengdonglin/tiny4412/SysPort/rootfs/ramdisk.img

else

    echo "ramdisk.img not exist"

    exit -1

be


sleep 1


if [ -e /home/pengdonglin/tiny4412/SysPort/linux-4.4_tiny4412/arch/arm/boot/dts/exynos4412-tiny4412.dtb ];then

    sudo dnw /home/pengdonglin/tiny4412/SysPort/linux-4.4_tiny4412/arch/arm/boot/dts/exynos4412-tiny4412.dtb

else

    echo "dtb not exist."

    exit -1

be


 2.


over.


Keywords:tiny4412  Linux  内核移植 Reference address:基于tiny4412的Linux内核移植 ---- 調試方法

Previous article:Linux kernel transplantation based on tiny4412--device tree expansion
Next article:tiny4412 serial port driver analysis nine --- shell terminal

Recommended ReadingLatest update time:2024-11-16 17:34

Linux device tree learning (2) Transfer and use of device tree
1. uboot and device tree When the bootloader starts the kernel, it will set three registers r0, r1, and r2. r0 is generally set to 0; r1 is generally set to machine id (there are special files defining machine codes in uboot and Linux) (this parameter is not used when using the device tree); r2 generally sets the star
[Microcontroller]
Linux device tree learning (2) Transfer and use of device tree
《Linux driver: s3c2410_ts/s3c2440_ts module loading process》
Preface By analyzing the s3c2410_ts/s3c2440_ts module loading process, the bus-device-driver model and input subsystem framework in the Linux driver are analyzed. Main process analysis diagram s3c2440_ts main process analysis System Initialization MACHINE_START(SMDK24
[Microcontroller]
OK6410A Development Board (VIII) 125 linux-5.11 OK6410A Process Communication Pipe
Overview The essence of a pipeline is to use __get_free_page to apply for a space in the kernel space and initialize it as a circular buffer. When writing, fill this buffer. When it is full, block or non-block according to the IO settings. Write to non-empty and wake up the reading process. When reading, the value is
[Microcontroller]
OK6410A development board (eight) 7 linux-5.11 OK6410A usb camera transplant
Code : https://github.com/lisider/linux/tree/ok6410a-linux-5.11 Submit id : 0cf53aa024fbd417f0796a77ff7f9b891680dac8 defconfig : arch/arm/configs/ok6410A_sdboot_mini_net_lcd_x11_usb_debug_uvc_defconfig User space code uvc_cam_test Makefile CROSS_COMPILE =arm-none-linux-gnueabi- KERNELDIR = CFLAGS = -I$(KERNELDIR)
[Microcontroller]
DVI driver development in high-definition embedded systems
Introduction DVI is the abbreviation of Digital Visual Interface. In the field of embedded electronics, high-definition interfaces such as DVI are increasingly used. Many embedded products use H.264 video encoding technology to support the playback of 720P resolution video files in H.264 format, which requires a displ
[Microcontroller]
DVI driver development in high-definition embedded systems
Application of Embedded Linux Technology in Industrial Control Network
  With the rapid development of the Internet, network applications are becoming more and more extensive, and the requirements for network functions of various industrial control equipment are becoming higher and higher. The current requirement is that industrial control equipment should support TCP/IP and other Intern
[Microcontroller]
ARM Linux Interrupt Analysis
Introduction: Linux has prepared the address of each interrupt vector when it is initialized! That is to say, the framework for adding an interrupt service program has been given. When an interrupt occurs, it will go to a certain address to find instructions. Therefore, when we make a driver, we only need to use reque
[Microcontroller]
ARM Linux Interrupt Analysis
Linux-2.6.14 ported to S3C2440
The 2.6.14 kernel is rarely used now, but due to project needs, the 2.6.14 kernel was recently ported to S3C2440, and the CS8900 network card driver was ported (for network card driver porting, refer to http://blog.csdn.net/ce123/article/details/8424399 ). The reason for porting the network card driver is that the yaff
[Microcontroller]
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号