U-BOOT是在ARM生态系统中广泛使用的系统启动固件(boot loader),具有体量小,速度快,灵活性高,功能强大等很多优点。
在计算机系统中,虽然U-BOOT固件的体量不大,但它的位置极其重要,关乎性能,关乎安全,一旦失灵,可能变砖,可能被黑。
从软件开发的角度看,U-BOOT代码涉及很多硬件知识,套路多,门槛高,入门难度很大,熟悉U-BOOT的人不多。本讲座选取真实的RK3588平台(幽兰代码本)为试验硬件,基于开源的U-BOOT代码,带领大家针对真实硬件平台写代码,在真实平台上试验代码,使用挥码枪硬件调试器将狂野的CPU静止下来,看活代码,查来龙去脉。整个培训由《软件调试》作者亲自讲授,现身说法,展示固件编程的独特魅力。
通过本课程,学习者可以一举多得:
熟悉U-BOOT的关键部件、工作过程和常用命令,能够排查U-BOOT阶段的常见启动问题;
学习U-BOOT开发的基本方法,包括编译环境、构建方法、打包和更新方法、调试方法等;
理解U-BOOT的关键设计,包括命令脚本,环境变量,全局数据(GD),设备模型等;
熟悉U-BOOT代码结构,学习开发设备驱动和新命令的方法;
学习RK3588硬件和ARM64等技术,加深对CPU、存储设备、USB总线、USB设备等的理解;
学习U-BOOT在软件测试、工具开发、代码兼容、软件优化等方面的先进做法和智慧;
加深对计算机系统启动过程、设备树、INITRAMFS镜像等技术的认识,填补知识盲区。
课程形式
在线课程(腾讯会议直播)
一年内免费无限次回看
上课时间
2025年1月11日 ~ 3月15日
(每周六20:00上课,春节假期休息)
1
自己构建U-BOOT
要点:准备构建环境、熟悉源代码树、以Linux为师、构建、make help、镜像文件、更新镜像、体验、U-BOOT简史、“认识”核心开发者、重要文档。
2
外壳和命令
要点:进入命令行环境、命令风格、基本命令、内存读写命令、条件命令、for和while循环、访问gpio、加载和启动内核。
3
设备模型和存储设备
要点:背景、以Linux为师的驱动模型、设备类、uclass_driver、硬件匹配、probe函数、dm tree、理解充电动画驱动。
4
工作流程和硬件初始化
要点:硬件基础、DDR和SRAM、MaskROM、_main、全局数据、x18、底层初始化(lowlevel_init)、board_init_f、搬家、board_init_r。
5
开放固件和设备树
要点:硬件差异、Open Firmware(OF)、引入设备树(2011)、DTS、节点、根节点、属性对、DTC、FDT、libfdt、overlay、通过设备树。
6
编写新的命令
要点:命令入口函数、命令的参数、U_BOOT_CMD宏、TAB键补齐、CONFIG_AUTO_COMPLETE、run_command()。
7
环境变量
要点:准备构建环境、熟悉源代码树、以Linux为师、构建、make help、镜像文件、更新镜像、体验、u-boot简史、“认识”核心开发者、重要文档源自UNIX、松耦合通信、env_driver、env print、env edit、run命令;重要的环境变量:arch、cpu、bootos、bootcmd、nvmeargs。。
8
引导内核
要点:外存基础、emmc、nvme、分区机制、ls命令、load命令、加载文件到内存、解压缩、通过chosen节点向内核传递参数、手工启动Linux。
9
函数追踪和调优
要点:工作原理、编译选项、更新、手工查看追踪文件、proftool、使用kernelshark呈现和分析、使用火焰图。
试验设备
基于RK3588 SoC的幽兰代码本
标准收费
单独购买课程:980元
* 已经购买过幽兰的兰舍成员可享有680元的优惠价格。
课程+硬件优惠套餐:3980元
包含:
幽兰代码本
挥码枪
在线课程《举重若轻:U-BOOT真机实战》
* 以套餐方式购买,请联系课程顾问补差价。
课程顾问
课程顾问:Lisa
咨询电话:13801874134 (微信同号)
报名邮箱:lisa.long@nanocode.cn
购买方式
手机端:微信搜索 “盛格塾” 小程序,在 “格课快递” 模块中找到 “举重若轻:U-BOOT真机实战” 课程,即可下单购买。
电脑端:在Nano Code首页找到 “Nano视频”,点击进入后找到 “举重若轻:U-BOOT真机实战” 课程,即可下单购买。
Nano Code客户端下载链接:https://nanocode.cn/#/nanocode/
如兰舍成员需要使用优惠价格,请在Nano Code客户端购买(小程序方式暂时无法支持优惠购买)。
单击 “点击购买” 按钮,在弹出界面右下角的优惠类型中选择 “拥有幽兰” 选项,即可以680元的优惠价购买本课程。如不符合优惠条件,后续会联系您退款。
公司付款信息
账户名称:格蠹信息科技(上海)有限公司
开户行:招商银行股份有限公司上海浦江镇支行
账号:1219 3085 8010 501
-END-
盛格塾 ·
正心诚意,格物致知
以人文情怀审视软件,以软件技术改变人生
格友公众号
盛格塾小程序
扫描上方二维码或在微信中搜索“盛格塾”小程序
可以阅读更多文章和有声读物
往期推荐 ·