举重若轻:U-BOOT真机实战

ed30747144b29670a43f868c6086dccc.png

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镜像等技术的认识,填补知识盲区。

196d7bd38cbf57a5bb6a1fca849e35fe.png

课程形式

  • 在线课程(腾讯会议直播)

  • 一年内免费无限次回看

上课时间

2025年1月11日 ~ 3月15日

(每周六20:00上课,春节假期休息)

1

自己构建U-BOOT

要点:准备构建环境、熟悉源代码树、以Linux为师、构建、make help、镜像文件、更新镜像、体验、U-BOOT简史、“认识”核心开发者、重要文档。

2

外壳和命令

要点:进入命令行环境、命令风格、基本命令、内存读写命令、条件命令、for和while循环、访问gpio、加载和启动内核。

e591b458e909ee0b6e94a632bee739ca.png

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的幽兰代码本

4c79083f909fa5a3320717d6d66c77fc.png

标准收费

单独购买课程:980元

* 已经购买过幽兰的兰舍成员可享有680元的优惠价格。

课程+硬件优惠套餐:3980元

包含:

  • 幽兰代码本

  • 挥码枪

c46b64c8f2f78e7116565c21abb87bb0.png

  • 在线课程《举重若轻:U-BOOT真机实战》

* 以套餐方式购买,请联系课程顾问补差价。

课程顾问

课程顾问:Lisa

咨询电话:13801874134 (微信同号)

报名邮箱:lisa.long@nanocode.cn

购买方式

手机端:微信搜索 “盛格塾” 小程序,在 “格课快递” 模块中找到 “举重若轻:U-BOOT真机实战” 课程,即可下单购买。

电脑端:在Nano Code首页找到 “Nano视频”,点击进入后找到 “举重若轻:U-BOOT真机实战” 课程,即可下单购买。

Nano Code客户端下载链接:https://nanocode.cn/#/nanocode/

如兰舍成员需要使用优惠价格,请在Nano Code客户端购买(小程序方式暂时无法支持优惠购买)。

405590c145a268fdb8e4f49bc62ab825.jpeg

单击 “点击购买” 按钮,在弹出界面右下角的优惠类型中选择 “拥有幽兰” 选项,即可以680元的优惠价购买本课程。如不符合优惠条件,后续会联系您退款。

公司付款信息

账户名称:格蠹信息科技(上海)有限公司

开户行:招商银行股份有限公司上海浦江镇支行

账号:1219 3085 8010 501

-END-

 盛格塾 ·

正心诚意,格物致知

人文情怀审视软件,以软件技术改变人生

d163b8a048ccdc7938586454230e4808.png

格友公众号

970f22ba5d400c427c458305c69a56c7.png

盛格塾小程序

扫描上方二维码或在微信中搜索“盛格塾”小程序

可以阅读更多文章和有声读物

 往期推荐 ·

上调试器:生擒黑屏背后的元凶

GDB埋下的炸弹指令,你可曾亲见?

LINUX内核漏洞知多少?

ARM64上的动态链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值