u-boot移植初步尝试-tiny4412
获取u-boot源代码
在u-boot官方网站下载uboot源码。ftp://ftp.denx.de/pub/u-boot/
因为是第一次移植uboot,所以这里选的版本是 u-boot-2013.01
解压文件到 /home/tiny4412下。
1 | cd /home/tiny4412/<br>tar xvf u-boot-2013.01 |
根据 Linux嵌入式驱动学习之路③u-boot配置分析 中可知在执行mkconfig时会从boards.cfg中提取相应的信息。
所以在boards.cfg中添加相应的信息。
tiny4412(目标板型号) arm(CPU架构) armv7(CPU型号) tiny4412(开发板名称) samsung(生产厂家) exynos(片上系统)
打开makefile,指定交叉工具链为 arm-linux-
找一个最类似的board配置修改。这里我们参考的是 origen
1 2 | cd board/samsung/ cp origen tiny4412 -rfcd tiny4412/ |
修改makefile信息 将origen该为tiny4412
将origen.c该为tiny4412.c
将$(obj)/include/configs/origen.h 复制为tiny4412.H
将tiny441.h中原来的#define CONFIG_SYS_PROMPT "ORIGEN #" 改成:
将原来的#define CONFIG_IDENT_STRING "for ORIGEN" 改成
编译u-boot
1 2 3 | make distclean make tiny4412_config make |
编译完成后会生成可执行的u-boot.bin文件。
将友善之臂中提供的sd_fuse文件夹复制到顶层目录中。
编译用于生成bl2的工具
cd sd_fuse; make
将一张大于4G的SDHC卡插入电脑。假设已被识别为/dev/sdb
cd sd_fuse/tiny4412/ sudo ./sd_fusing.sh /dev/sdb
若有以下提示,则制作成功。
U-boot image is fused successfully.
Eject SD card and insert it again.
将sd卡放入开发板,从SD卡启动,无任何现象。
确认第一条指令运行到了。(点灯)
在arch/arm/cpu/armv7/start.s的reset 中添加下面几句话
1 2 3 4 5 6 | /* led (GPM4_0~3) on */ /*点亮LED灯*/ ldr r0, =0x110002E0 ldr r1, =0x00001111 str r1, [r0] ldr r1, =0x0e str r1, [r0, #0x04] |
重新制作sd卡,启动,led被点亮。
然后,我把led灯的指令放到lowlevel_init中,发现灯点不亮。
反汇编后,查看了一下我觉得没有问题。一直不知道是为什么。后来在整理相对跳转和绝对跳转笔记时,突然想起来会不会是lowlevel_init这个代码在代码段的位置中太靠后了,因为上电之后内存并没有初始化。所以我修改了链接脚本器。
在arm/arm/cpu/armv7目录中的u-boot.lds的CPUDIR/start.o (.text*)后加上下面一段话后,led灯被点亮。
CPUDIR/start.o (.text*)
board/samsung/tiny4412/libtiny4412.o (.text) arch/arm/cpu/armv7/exynos/libexynos.o (.text)
sdf
linux内核下载地址: https://www.kernel.org/pub/linux/kernel
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)