玩STM32三年多一直看着网上各牛人的帖子,刚在STM32F469I-DISCO移植了Linux4.13.12抑制不住自己喜悦的心情来和大家分享。! Y# p# a1 i. J( R3 Q 嵌入式Linux系统由三部分组成:bootloader、kernel、root filesystem (引导程序、内核、根文件系统) 软件包下载: http://github.com/mcoquelin-stm32/afboot-stm32 下载引导程序afboot-stm32-master.zip http://www.kernel.org/下载最新的Linux内核linux-4.13.12.tar.xz http://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 7 {' N' ? |5 `- @make stm32_defconfig make menuconfig 在General setup --->Initramfs source file(s)下添加根文件系统Stm32_mini_rootfs.cpio.bz2。 : n# r- F7 U f 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中 接下来就是见证奇迹的时刻 0 B. q5 p0 A" { Y& U; z敬告: 本文原创,欢迎转载^_^ 转载请在文章醒目处注明: 原创作者ID:bruceyuanhong ! `- `6 T7 H+ C9 Z' G ; I3 D- q9 ]2 A + ?- k! m& t! ^$ N# F- x 1 p+ ]2 U! _- @- w |
STM32固件库分享,超全系列整理
【中文文档】AN3965_STM32F40x和STM32F41x基于串口的IAP
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
STM32F4中文用户手册
基于STM32F407的FreeRTOS阶段性的总结(13)
STM32F400、STM32F402 Cortex-M4超值单片机
基于STM32F407的FreeRTOS获取各任务运行时间及占用情况(4)
基于STM32F407的FreeRTOS任务的挂起与恢复(3)
基于STM32F407的FreeRTOS任务的创建与删除经验分享(2)
基于STM32F407的FreeRTOS环境搭建经验分享(1)
这个我信