树莓派实验五: bootloader

本文介绍了如何通过修改David Welch的RPi bootloader和Python脚本来实现更高级的功能,包括加载程序、内存读写及验证。实验详细描述了从下载源码、配置环境到修改代码、设计状态机、编译和测试的全过程,旨在加深对树莓派bootloader的理解和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验目的

       熟悉树莓派的bootloader

二、实验内容

    David Welch的GitHub的bootloader05给出了一个非常简单的RPi bootloader,他的代码链接在内存的0x00020000位置,一直在监听串口是否有XMODEM协议的文件下载,如果有就开始接收数据,并复制到0x00008000位置,传输完成后跳转到 0x00008000去执行。
TA写了一个Python脚本,按照下面的命令调用脚本可以下载并执行用户程序

python xmodem-loader.py -p com3 -baud 115200 output.bin

你的任务是修改bootloader和python脚本实现如下功能:

  1. 调用命令 python xmodem-loader.py -p com3 -baud 115200 启动脚本并且与板卡建立串口连接,之后可以发送下面的命令。
  2. load *.bin 下载程序*.bin
  3. go 执行已下载的程序
  4. peek addr 以一个字为单位读取内存中addr位置的数据(addr是4字节对齐,十六进行的形式,长度为8,例如 0x00008000),并以十六进制的形式输出
  5. poke addr data 以一个字为单位修改内存中addr位置的数据为data(addr是4字节对齐,十六进行的形式,长 度为8, data也是十六进行的形式,长度为8)
  6. verify *.bin 验证已下载的程序和*.bin是否完全相同。

 

三、主要仪器设备

       1. 树莓派板

       2. 移动电源

       3. PC

 

四、操作方法和实验步骤

1. 下载bootloader05代码

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值