STM32 三年多一直看着网上各牛人的帖子,刚在 STM32F469I-DISCO 移植了 Linux4.13.12 抑制不住自己喜悦的心情来和大家分享。

 

 

嵌入式Linux系统由三部分组成:bootloaderkernelroot filesystem (引导程序、内核、根文件系统)

 

软件包下载:

https://github.com/mcoquelin-stm32/afboot-stm32 下载引导程序afboot-stm32-master.zip

https://www.kernel.org/下载最新的Linux内核linux-4.13.12.tar.xz

https://elinux.org/File:Stm32_mini_rootfs.cpio.bz2 下载文件系统 Stm32_mini_rootfs.cpio.bz2

 

软件包的编译:

这些软件包都在Ubuntu的系统中编译,省略编译工具的安装过程。

1,引导程序的编译:

AFBoot-STM32是由Andreas F?rber开发,它的主要优势是尺寸非常小,只有2KB左右。

解压afboot-stm32-master.zip得到afboot-stm32-master

cd afboot-stm32-master

make stm32f469i-disco

 

2, linux内核和根文件系统的编译

解压linux-4.13.12.tar.xz得到linux-4.13.12

修改linux-4.13.12/makefile

250行改为ARCH?= arm

251行改为CROSS_COMPILE?= arm-none-eabi-

 2017年12月08日 - bruceyuanhong - bruceyuanhong的博客

修改linux-4.13.12/arch/arm/configs/stm32_defconfig

25行改为CONFIG_DRAM_BASE=0x00000000

2017年12月08日 - bruceyuanhong - bruceyuanhong的博客

 

make stm32_defconfig

make menuconfig

General setup --->Initramfs source file(s)下添加根文件系统Stm32_mini_rootfs.cpio.bz2

2017年12月08日 - bruceyuanhong - bruceyuanhong的博客
 
2017年12月08日 - bruceyuanhong - bruceyuanhong的博客
 
2017年12月08日 - bruceyuanhong - bruceyuanhong的博客

  

make

 

烧录程序:

1、把引导程序afboot-stm32-master/stm32f469i-disco.bin下载到STM32F469Iflash地址0x08000000

2、Linux设备树linux-4.13.12/arch/arm/boot/dts/stm32f469-disco.dtb下载到STM32F469Iflash地址0x08004000

3、Linux镜像文件linux-4.13.12/arch/arm/boot/xipImage下载到STM32F469Iflash地址0x08008000

 

接下来就是见证奇迹的时刻

2017年12月08日 - bruceyuanhong - bruceyuanhong的博客
 
2017年12月08日 - bruceyuanhong - bruceyuanhong的博客

  

 

 

敬告:

本文原创,欢迎转载^_^

转载请在文章醒目处注明:

原创作者IDbruceyuanhong

原始博文链接:http://blog.sina.com.cn/s/blog_890188a80102xeye.html

Logo

更多推荐