1. 程式人生 > >STM32F429i-Discovery 移植併成功跑起來u-boot 2016.05

STM32F429i-Discovery 移植併成功跑起來u-boot 2016.05

      說是移植,其實就是編譯,不管怎樣,u-boot 2016.05已經成功的支援stm32f429i-Discovery了!!因為我在編譯最新的Linux 4.5核心時,發現已經支援:stm32f429i-Discovery,並且編譯成功並能生成uImage xipimage等!!因此,可以說,雖然沒有MMU的STM32429i-Discovery,沒有網路,依然可以把Linux系統簡單的跑起來!!

      最新的U-boot 2016.05如果編譯ARMV7-M的平臺,因此需要選擇一下交叉編譯器:我這裡使用

gcc-arm-none-eabi-5_3-2016q1-20160330-linux.tar.bz2

否則可能編譯不過去!!

下載地址:

https://launchpad.net/gcc-arm-embedded/+download

解壓縮命令:# tar xjvf gcc-arm-none-eabi-5_3-2016q1-20160330-linux.tar.bz2 -C /opt/

     檢視一下,解壓即可用。我這裡解壓到:虛擬機器:CentOS 下的:/opt/目錄 下。

可以設定環境變數,然後執行:

# arm-none-eabi-gcc -v檢視一下交叉編譯器:gcc版本資訊

編譯U-boot 2016.05 ,開發板為:stm32f429i-Discovery。

命令如下:

#make mrproper #make stm32f429-discovery_defconfig #make menuconfig(不知道什麼時候,Uboot 也支援圖形化的配置方式:menuconfig
) #make ARCH=arm CROSS_COMPILE=arm-none-eabi-

       如果沒有錯誤,會生成:u-boot.bin,需要使用Linux 下的st-link 工具燒寫到stm32f429i-Discovery開發板flash裡即可,燒寫位置也就是0x8000000(flash的基址,boot對映後為:0x0)

#st-flash write u-boot.bin 0x8000000

      列印資訊的串列埠為:USART1(PA9 PA10:注意,如果傳送失敗,看一下板子上SB11 SB15是否連線ST-LinkV2,去掉這兩個0R的短接電阻即可正常)。注意為:TTL 3.3V電平的,需要USB-TTL等工具進行串列埠連線。


U-Boot 2016.05 (May 22 2016 - 15:36:51 +0800)


DRAM:  8 MiB
WARNING: Caches not enabled
Flash: 2 MiB
*** Warning - bad CRC, using default environment


In:    serial_stm32
Out:   serial_stm32
Err:   serial_stm32
Net:   Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot:  0 
Wrong Image Format for bootm command
ERROR: can't get kernel image!
U-Boot > 

        如果看到類似shell的命令列提示符:說明uboot是可以工作了!!!試了下幾個命令,可以用,算是個基於:usart1的shell程式吧!!!如果真移植Linux,我想,應該也可以,只是不知道stm32f429i-Discovery 能幹什麼,或許只是為了玩,只是為了玩轉Linux吧。

      當然,學習是主要的,與平臺有關,但是不侷限於某個平臺!!有時候把Linux 4.5移植上去跑個LED燈!!

相關推薦

STM32F429i-Discovery 移植成功起來u-boot 2016.05

      說是移植,其實就是編譯,不管怎樣,u-boot 2016.05已經成功的支援stm32f429i-Discovery了!!因為我在編譯最新的Linux 4.5核心時,發現已經支援:stm3

u-boot-2016.05移植:(7)、使u-boot支援燒寫檔案系統

u-boot本身支援對jffs2格式檔案系統的nand指令操作,但是沒有支援yaffs2的格式,所以我們要修改使其支援yaffs2格式檔案系統指令操作,在u-boot中搜索.yaffs,並找不到相關程式碼,所以我們轉而搜尋.jffs2 ,可以在u-boot-20

給我一個maven結構的war包,反編譯成專案成功執行起來

開發工具eclipse,idea,反編譯工具jq-gui 1.用eclipse建立一個maven結構的web專案 將第一項勾選,跳過選擇maven結構型別,下一步的jar包型別一定要選擇war包型別,其他自定義, 標準的maven結

2019,我是如何轉向戰略成功成功通一個現金流專案的

2019年來得快,去的也快。 2019年年初,我兒子蹦出來了,現在才知道,他當時有多乖。 2019年年初,我辭去穩定的外企工作,放棄了還不錯的薪水,離開了舒服的工作環境和團隊,開始了第一次創業。 2019年年中,我提前半年完成了去年的目標3w讀者,截止目前5.5w讀者。 2019年下旬,我通過3個月的時間

移植u-boot.2016.09 ——(六、制作補丁、打補丁)

mini2440 style mic 移植 打補丁 spa ont microsoft ini 制作補丁: 制作補丁: diff -urN u-boot-2016.09 u-boot-2016.09_mini2440 > u-boot-2016.09_patch 打補

u-boot-2016.01移植(一)

1、瞭解uboot:  閱讀uboot原始碼頂層目錄下的README.TXT可以提取如下資訊:      made to support booting of Linux images.   //引導核心程式  &nbs

移植U-BOOT-2016.11到JZ2440詳細教程(5)

讓U-boot支援Nor Flash 這節的移植應該是最簡單的,修改程式碼量最少。但是我們還是要對原始碼進行一個簡單的分析。 首先緊接上一節最後的那張圖,我們已經讓U-boot可以從Nand Flash啟動,然後打印出來的除錯資訊中Flash: 對應的就是N

u-boot-2015.04 在tq2440上的移植(使用spl引導u-boot

ENTRY(relocate_vectors) /* * Copy the relocated exception vectors to the * correct address * CP15 c1 V bit gives us the lo

Zynq-Linux移植學習筆記之十-u-boot網路配置

在zynq開發板zc706上,網路通路由下面三個裝置組成: 其中zynq負責對phy進行配置,當zynq上的網路控制器以及phy完成正確配置時,能夠看到RJ45上面的黃燈亮,此時表明鏈路已經通了。如果u-boot中已經設定了IP地址,通過網線就可以ping通

在JZ2440上移植裝置樹---上:u-boot移植

在JZ2440上移植裝置樹–上:u-boot移植 為了用上買了之後就一直在吃灰的JZ2440,決定下一番功夫在jz2440上移植裝置樹。由於韋老師的視訊中沒有講到裝置樹相關,前前後後總共花了我約五個晚上,一個週末的時間。 1、移植u-boot u-boot

《轉》u-boot移植燒寫步驟、u-boot命令和kernel燒寫步驟

轉自:《http://blog.sina.com.cn/s/blog_726c4bd20100unjn.html》 移植燒寫步驟 1. 解壓u-boot原始檔 2. 從u-boot/include/configs裡找相近的配置,複製成自已的名字 3. 改make

JZ2440 u-boot-2016.11、linux-4.17和busybox-1.28.4移植筆記

    2018年5月份開始在JZ2440上陸續移植了u-boot-2016.11、u-boot-spl-2016.11、linux-4.17和busybox-1.28.4,其中linux-4.17和busybox-1.28.4是當時官方最新的版本,以此作為學習linux兩年來的

u-boot 2016.7之乙太網驅動模型

        u-boot 2016.7引入了裝置樹(device tree) 和 驅動模型DM(driver model),這為裝置的驅動的定義和訪問 介面提供了統一的方法,提高了驅動之間的相容性和可移植性。具體建議參考/doc/driver-model/README.

【imx6ul】U-Boot 2016.03執行過程分析-ARM Cortex-A7

uboot組織架構正在朝著linux架構方向發展,不同版本稍有不同,一下以U-Boot 2016.03為例。分析入口:以u-boot.lds(其決定了各個段的排布方式)開始:1、u-boot.lds://設定輸出檔案大小端格式 OUTPUT_FORMAT("elf32-lit

stm32移植ecos #7,移植ecos成功執行helloworld程式

前段時間,成功的把redboot移植到了stm32板子上,並留下了一個疑問:既然redboot是ecos的一個單執行緒應用,那麼不要redboot而直接執行ecos的應用程式是否可行呢?對這個問題,結合我對ecos的瞭解,理論上是可行的,因為它們都是採用相同的HAL(硬體抽

u-boot移植(一)---準備工作

分享 2.3 option 什麽 bison ctu http bin 執行命令 一、工具鏈的制作 1.1 工具   軟件工具:crosstool-ng   下載地址:git clone https://github.com/crosstool-ng/crosstool-n

u-boot移植(四)---代碼修改---時鐘修改、SDRAM

port write 啟動 tro nor ble 大小 pro 正常   最開始已經建立了新單板以及配置文件,現在就需要做的是代碼的修改,配置成適合目標板使用的u-boot。 一、時鐘修改   在代碼流程分析中,我們知道,系統的啟動是: 設置 CPU 為管理員模式 關閉

u-boot移植(七)---代碼修改---存儲控制器

relative onf 修改 param nan 內存 literal def 定義 一、CPU訪問芯片的條件      CPU通過訪問存儲控制器,來讀取外部設備的數據。   CPU想訪問一個芯片,需要如下條件(配置信息): 地址線 數據線:8位/16位/32位數據

u-boot移植(十三)---代碼修改---裁剪及環境變量 一

相關 addition 並且 width load command 啟動程序 type 入參 一、內核裁剪   內核的裁剪首先就是修改我們的配置文件,即 include/configs/jz2440.h 文件,裏面定義的很多宏,我們也許用不上的就要去掉。 1 /*

u-boot移植(十三)---代碼修改---支持文件系統及補丁制作

ota ons set nan 文件的 help and ole com 一、燒寫文件系統 1.1 jffs2燒寫   1.下載文件系統:tftp 30000000 fs_mini_mdev.jffs2      2.擦除文件的塊:nand erase.part rootf