stm32f429的u-boot、uclinux内核烧写说明

发布者:京玩儿最新更新时间:2019-08-28 来源: eefocus关键字:stm32f429  u-boot  uclinux  内核烧写 手机看文章 扫描二维码
随时随地手机看文章

最近比较忙,针对前面的留言说有怎么download u-boot、uclinux到stm32,我翻了翻以前记录下的笔记,特意贴上来,其实有些步骤我都已经忘记了。。。


一、搭建嵌入式linux开发环境

1. 准备一台Linux系统(Fedora,CentOS,Ubuntu等)的电脑,将BSP压缩包(linux-cortexm-2.0.0.tar.gz)拷贝到一个目录;

2. 解压BSP包:     tar -xzvf linux-cortexm-2.0.0.tar.gz

3. 解压arm工具链:

cd linux-cortexm-2.0.0/tools

                   tar xvfj arm-2010q1-189-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2


首先创建一个目录作为工作目录,这里我创建到/aa/arm-2010q1/目录下(后面步骤的所有源代码都会解压安装到此目录中)

#mkdir -p /aa/arm-2010q1/

创建一个目录/aa/arm-2010q1/并把解压后的arm工具链目录下的所有文件复制到这个目录下


#chmod 777 /aa/arm-2010q1/(要改变该目录的权限才能成功复制到这个目录下)

复制完成后。

4. 安装交叉编译工具链:

(1).修改环境变量

vim ~/.bashrc

在最后一行输入 export PATH=$PATH:/aa/arm-2010q1/bin(上一步解压工具链文件的地址) 

(2).然后 source ~/.bashrc

(3).如果装有几个交叉工具编译链,可以在~/.bashrc中选用


5. 使能arm工具链:

                   source ACTIVATE.sh

二、U-Boot的配置编译

   配置编译u-boot的方法十分简单,只需在解压并进入源码包后,在u-boot顶层目录下执行如下两个命令


设置配置文件:  make stm3240g-eval_config

编译u-boot:     make        

(编译成功后,会在u-boot目录下生成一个u-boot.bin文件)



三、文件的烧写:

⑴U-Boot烧写:使用USB转串口(需用户自备)连接开发板的P4(5V,TX, RX, GND)。

跳线帽短接J3、J4.

⑵打开开发板电源开关,再打开J-Link工具的J-Flash

⑶在工具栏Flie open data file


 

选好地址:0x08000000


选工具栏Target中的Auto将先前编译好的u-boot.bin烧入STM32F429的Flash即可


或使用ST Flashloader工具,将之前生成的u-boot.bin文件烧入STM32F429的Flash亦可。


在这里我所编译得到的u-boot大小约为108KB左右


 


四、Linux kernel/rootfs 编译

1. 进入内核文件目录:  cd lux

2. 配置裁剪linux kernel(可选项,如果不需要可以跳到下一步)

           make menuconfig

3.编译linux:     

make xipImage    

   再进入该目录下的arch/arm/boot

cd arch/arm/boot

   执行boot目录下的make_uboot_ximage脚本

              ./make_uboot_ximage

编译成功后,会在arch/arm/boot目录下生成一个xipuImage.bin文件)


五、 Linux kernel/rootfs烧写:

⑴要先烧写好u-boot.bin

⑵打开开发板电源开关,再打开J-Link工具的J-Flash

⑶在工具栏Flieopen data file选好地址:0x08020000将先前编译好的xipuImage.bin烧入STM32F429的Flash即可(步骤与上述的u-boot烧写相似)


六、应用程序的移植

1、准备好交叉编译环境

在安装有Linux操作系统的PC上安装对于平台的交叉编译器,并将交叉编译器加到环境变量中,如export PATH=$PATH:/opt /toolchain/rsdk-1.3.6-5281-EB-2.6.30-0.9.30/bin,上述已经安装激活,然后在终端界面里看交叉编译器版本,终端输入arm-uclinuxeabi-gcc –v,显示版本号则表示安装成功。

2、准备好源代码


#cd /test

#mkdir hello

#vi hello.c

输入以下代码并存盘退出

#include

 

int main(void)

{

     int i;

     printf("Helloworld! welcome to embedded linux!n");

     return 0;

}

3、编译hello并生成hello可执行文件

#arm-uclinuxeabi-gcc -o hello hello.c -mcpu=cortex-m3 –mthumb


4、把hello可执行文件下载到开发板


5、用多功能读卡器把SD卡连接到电脑,执行以下命令把hello可执行文件复制到SD卡中

#cp hello /mnt


6、退出SD卡把SD卡插到开发板插槽,接通开发板电源


7、等待开发板进入系统后打开开发板的终端,执行以下指令执行hello文件即可

#cd /mnt

#./hello

关键字:stm32f429  u-boot  uclinux  内核烧写 引用地址:stm32f429的u-boot、uclinux内核烧写说明

上一篇:STM32F429i-DISCO 液晶模块
下一篇:STM32F429 >> 20. CAN 通讯(二)

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved