玩
STM32
三年多一直看着网上各牛人的帖子,刚在
STM32F469I-DISCO
移植了
Linux4.13.12
抑制不住自己喜悦的心情来和大家分享。
嵌入式Linux系统由三部分组成:bootloader、kernel、root 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-
修改linux-4.13.12/arch/arm/configs/stm32_defconfig
把25行改为CONFIG_DRAM_BASE=0x00000000
make stm32_defconfig
make menuconfig
在General setup --->Initramfs source file(s)下添加根文件系统Stm32_mini_rootfs.cpio.bz2。
make
烧录程序:
1、把引导程序afboot-stm32-master/stm32f469i-disco.bin下载到STM32F469I的flash地址0x08000000中
2、把Linux设备树linux-4.13.12/arch/arm/boot/dts/stm32f469-disco.dtb下载到STM32F469I的flash地址0x08004000中
3、把Linux镜像文件linux-4.13.12/arch/arm/boot/xipImage下载到STM32F469I的flash地址0x08008000中
接下来就是见证奇迹的时刻
敬告:
本文原创,欢迎转载^_^
转载请在文章醒目处注明:
原创作者ID:bruceyuanhong
【STM32|STM32F469I-DISCO移植Linux4.13.12】 原始博文链接:http://blog.sina.com.cn/s/blog_890188a80102xeye.html
推荐阅读
- Linux|109 个实用 shell 脚本
- stm32|基于STM32和freeRTOS智能门锁设计方案
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- 日常分享|共享充电宝方案原理,具体部件组成以及主控MUC参数
- Go|Docker后端部署详解(Go+Nginx)
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)