stm32f429移植linux教程,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

否则可能编译不过去!!

下载地址:

解压缩命令:# 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等工具进行串口连接。

1969f397ca1c5c1c162f6dfe9847cc88.png

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灯!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值