国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網(wǎng)

標(biāo)題: 嵌入式修改u-boot與Linux調(diào)試串口經(jīng)驗(yàn) [打印本頁(yè)]

作者: 技術(shù)小白    時(shí)間: 2017-8-22 15:05
標(biāo)題: 嵌入式修改u-boot與Linux調(diào)試串口經(jīng)驗(yàn)
嵌入式修改u-boot與Linux調(diào)試串口經(jīng)驗(yàn)

近期一個(gè)項(xiàng)目,使用TI Cortex-A8的芯片AM3517作為主控開(kāi)發(fā)。前期使用北京瑞泰公司的ICETEK-AM3517-KB核心板搭建開(kāi)發(fā)環(huán)境。在自己做底板布板的時(shí)候的時(shí)候涂個(gè)布線(xiàn)方便,改用UART1作為調(diào)試串口,而原來(lái)瑞泰給的開(kāi)發(fā)包,已經(jīng)TI的AM3517 PSP均以UART3作為調(diào)試串口。于是在底板焊接完成調(diào)試的時(shí)候就有了一天痛苦的經(jīng)歷和這篇文章。

在原版的PSP中, 一共有五處使用到UART3作為打印和調(diào)試串口:
(1)Xloader的打印串口
(2)u-boot的打印串口
(3)內(nèi)核解壓時(shí)的信息打印串口
(4)內(nèi)核調(diào)試串口
(5)文件系統(tǒng)中使用的顯示終端串口
以上第一處Xloader的打印信息量少且系統(tǒng)中不需要使用,不做修改。本文中講述后四種情況的修改。


1.1 修改u-boot打印串口


AM3517的串口符合TL16C550標(biāo)準(zhǔn)的,所以驅(qū)動(dòng)也是使用16550的驅(qū)動(dòng),默認(rèn)情況下,我們只需要提供需要配置的串口的基地址和中斷號(hào)等資源給16550的驅(qū)動(dòng),寄存器的配置不需要我們?nèi)リP(guān)心。且在瑞泰提供開(kāi)發(fā)包中UART1,UART2,UART3引腳配置均配置為M0模式所以不用去修改引腳復(fù)用寄存器。僅需在修改u-boot代碼中include/configs/am3517_icetek.h的如下代碼段:

90 #define CONFIG_CONS_INDEX 3
91 #define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3
92 #define CONFIG_SERIAL3 1 /* UART3 on AM3517 ICETEK */
將上述代碼修改為:
90 #define CONFIG_CONS_INDEX 1
91 #define CONFIG_SYS_NS16550_COM1 OMAP34XX_UART1
92 #define CONFIG_SERIAL1 1 /* UART1 on AM3517 ICETEK */

重新編譯u-boot,得到u-boot.bin,燒寫(xiě)至nandflash,重新啟動(dòng),Xloader啟動(dòng)信息打印在UART3,u-boot啟動(dòng)信息打印在UART1。


1.2修改內(nèi)核解壓縮打印串口


內(nèi)核解壓縮信息打印使用的串口,在Linux內(nèi)核源碼程序中。進(jìn)入linux源碼文件根目錄,找到 arch/arm/mach-omap2/include/mach/uncompress.h,打開(kāi)之后發(fā)現(xiàn)里面只有一行:

#include
#include
找到arch/arm/plat-omap/include/mach/uncompress.h,打開(kāi)后發(fā)現(xiàn)以下代碼:
43 #ifdef CONFIG_OMAP_LL_DEBUG_UART3
44 uart = (volatile u8 *)(OMAP_UART3_BASE);
45 #elif defined(CONFIG_OMAP_LL_DEBUG_UART2)
46 uart = (volatile u8 *)(OMAP_UART2_BASE);
47 #elif defined(CONFIG_OMAP_LL_DEBUG_UART1)
48 uart = (volatile u8 *)(OMAP_UART1_BASE);
49 #elif defined(CONFIG_OMAP_LL_DEBUG_NONE)
50 return;

由以上可知內(nèi)核解壓縮信息打印所使用的串口配置以來(lái)Linux內(nèi)核調(diào)試串口的配置,與內(nèi)核調(diào)試串口相同。


1.3修改內(nèi)核調(diào)試串口


內(nèi)核調(diào)試串口的配置在Linux誒和配置中選擇。在Linux源代碼根目錄下運(yùn)行一下命令:
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
打開(kāi)配置界面后,找到一下選項(xiàng):

System Type --->
TI OMAP Implementations --->
Low-level debug console UART (UART3) --->

修改為:
Low-level debug console UART (UART1) --->
這里的 (UART1) 表示調(diào)試串口選擇UART1。

保存后退出配置界面,運(yùn)行以下命令重新編譯內(nèi)核:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

將編譯后的內(nèi)核燒寫(xiě)至nandflash,設(shè)置u-boot啟動(dòng)參數(shù)從nandflash啟動(dòng),啟動(dòng)內(nèi)核。在UART1打印出內(nèi)核解壓以及內(nèi)核啟動(dòng)信息如下:

NAND read: device 0 offset 0x280000, size 0x500000
5242880 bytes read: OK
## Booting kernel from Legacy Image at 80000000 ...
Image Name: Linux-2.6.32
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2313024 Bytes = 2.2 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux................................................................................................................................................. done, booting the kernel.
Linux version 2.6.32 (root@world-desktop) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 Mon Apr 2 20:04:47 CST 2012
CPU: ARMv7 Processor [411fc087] revision 7 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP3517/AM3517 EVM
......................................................


1.4修改文件系統(tǒng)中使用的顯示終端串口

系統(tǒng)中使用的終端顯示串口配置在/etc/inittab文件中。打開(kāi)開(kāi)發(fā)板根文件系統(tǒng)下的/etc/inittab文件,找到一下信息:
31 S:2345:respawn:/sbin/getty 115200 ttyS2
將其修改為:
31 S:2345:respawn:/sbin/getty 115200 ttyS0
完成全部修改任務(wù)。

2.感觸
(1)Linux開(kāi)源特性,使得我們可以很好地對(duì)其進(jìn)行源碼級(jí)的修改,使其適合于我們的設(shè)計(jì)要求。
(2)在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)一定要先做好仔細(xì)前期準(zhǔn)備。尤其在做硬件設(shè)計(jì)時(shí),一定要充分考慮使用中要用到的資源,不然就會(huì)造成后期軟件設(shè)計(jì)者更多的麻煩。
(3)在做系統(tǒng)設(shè)計(jì)時(shí)一定要充分利用現(xiàn)有資源,在現(xiàn)有基礎(chǔ)上進(jìn)行設(shè)計(jì)開(kāi)發(fā)。


嵌入式技術(shù)學(xué)習(xí),聯(lián)系宋老師企鵝號(hào):3524-6590-88   Tel/WX:173--1795--1908
以下課程可免費(fèi)試聽(tīng)C語(yǔ)言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費(fèi)聽(tīng)課了。








歡迎光臨 電子工程網(wǎng) (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 毛片免费毛片一级jjj毛片 | 免费毛片播放 | 国产男人天堂 | 欧美黄色高清 | 欧美一区二区在线视频 | 香蕉成人在线视频 | 天天插天天爽 | 日韩精品大片 | 可以免费观看的黄色网址 | 亚洲精品一二区 | 欧美一区2区三区4区公司二百 | 在线观影| 日日噜噜夜夜狠狠视频 | a级黄色毛片三个搞一 | 久久久高清国产999尤物 | 久久国产精品一国产精品 | 国产三级日本三级美三级 | 四虎最新影院 | 九九视频精品在线 | 青青草原免费在线视频 | 国产美女白嫩嫩在线观看 | 五月婷婷激情视频 | 国产真实伦对白视频全集 | 欧美黄色影视 | 91精品国产肉丝高跟在线 | 欧美在线视频免费看 | 亚洲综合色视频 | 国产剧情麻豆mv在线观看 | 黄页网站在线观看免费 | 五月精品 | 国产成人亚洲毛片 | 日本久久久久久久中文字幕 | 欧美日一本 | 亚洲女人国产香蕉久久精品 | 亚洲免费成人在线 | 国产免费观看青青草原网站 | 成人午夜精品久久久久久久小说 | 国内精品 第一页 | 青青青爽国产在线视频 | 成人日韩在线观看 | 久久久久久91香蕉国产 |