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

嵌入式修改u-boot與Linux調試串口經驗

發布時間:2017-8-21 10:09    發布者:技術小白
嵌入式修改u-boot與Linux調試串口經驗

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

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


1.1 修改u-boot打印串口


AM3517的串口符合TL16C550標準的,所以驅動也是使用16550的驅動,默認情況下,我們只需要提供需要配置的串口的基地址和中斷號等資源給16550的驅動,寄存器的配置不需要我們去關心。且在瑞泰提供開發包中UART1,UART2,UART3引腳配置均配置為M0模式所以不用去修改引腳復用寄存器。僅需在修改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,燒寫至nandflash,重新啟動,Xloader啟動信息打印在UART3,u-boot啟動信息打印在UART1。


1.2修改內核解壓縮打印串口


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

#include
#include
找到arch/arm/plat-omap/include/mach/uncompress.h,打開后發現以下代碼:
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;

由以上可知內核解壓縮信息打印所使用的串口配置以來Linux內核調試串口的配置,與內核調試串口相同。


1.3修改內核調試串口


內核調試串口的配置在Linux誒和配置中選擇。在Linux源代碼根目錄下運行一下命令:
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
打開配置界面后,找到一下選項:

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

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

保存后退出配置界面,運行以下命令重新編譯內核:

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

將編譯后的內核燒寫至nandflash,設置u-boot啟動參數從nandflash啟動,啟動內核。在UART1打印出內核解壓以及內核啟動信息如下:

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修改文件系統中使用的顯示終端串口

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

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


嵌入式技術學習,聯系宋老師企鵝號:3524-6590-88   Tel/WX:173--1795--1908
以下課程可免費試聽C語言電子PCBSTM32、Linux、FPGA、JAVA、安卓等。
想學習的你和我聯系預約就可以免費聽課了。





本文地址:http://www.qingdxww.cn/thread-515984-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Chiptorials ——如何將CryptoAuthLib庫用于Microchip安全身份驗證IC
  • 無線充電基礎知識及應用培訓教程
  • Chiptorials——如何使用ATECC608 TrustFLEX實現公鑰輪換
  • Chiptorials ——使用ATECC608 TrustFLEX實現基本非對稱身份驗證
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 婷婷色5月 | 岛国在线123456 | 伊人9999| 欧美 在线播放 | 国产亚洲一区二区手机在线观看 | 欧美亚洲另类在线观看 | 在线免费色 | 日韩最新视频一区二区三 | 国产一级理论免费版 | 日韩欧美~中文字幕 | 在线青青| 欧美日韩在线免费观看 | 国产三级成人 | 欧美成人国产一区二区 | 久久aa| 最新在线观看精品国产福利片 | 国产va免费高清在线观看 | 大伊香蕉在线观看视频 wap | 国产黄色片在线观看 | 欧美精品片在线观看网站 | 思99热精品久久只有精品 | 国产肉丝 | 国产精品极品美女自在线观看免费 | 国产 日韩 欧美在线 | 牛牛av| 成人国产午夜在线视频 | 黄色网址视频在线播放 | 蜜桃臀久久伊人福利 | 青青青青青青草 | 国产亚洲日本人在线观看 | 男女做爽爽视频免费观看 | 韩国本免费一级毛片免费 | 欧美 日韩 中文 | 99在线热视频| 日韩免费在线观看 | a性片| 日韩毛片基地 | 99精品这里只有精品高清视频 | 9ⅰ视频在线播放 | 青青青爽在线视频观看大全 | 韩国一级毛片免费完整视频 |