官方标准uboot移植5之uart显示某指定内存中的数据

本文介绍如何通过编写汇编语言函数来读取特定地址的数据,以获取芯片ID。主要内容包括:定义函数display_addr_data操作寄存器r0以访问指定地址0xE0000000,实现数据的逐位处理并转换为ASCII码进行打印。

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

1.首先我们要知道我们想看到哪个地址的数据,这里进行举例,我们想看到芯片的ID,对应的地址为: 0XE0000000

2.写一个汇编语言函数

很明显,我们要看的地址放在r0中,那么我们的函数display_addr_data主要就是针对r0进行的操作。

3.汇编语言函数的内容

1)首先将r0寄存器的内容赋值给r0;

2)然后分别打印0x;

3)对数据右移28位,结果保存在r2中;

4)与上0xf用于去掉高位,第一次可以不需要,后面需要的。

5)对取出的数据进行比较,此时我们要对应ASCII的值,比如我们要显示内存中0xA,我们取出的是A,那怎么把这个A打印出来呢?这里有一个对应关系,判断结果与10的关系。

小于10 ,加0x30

大于10,加0x37

6)循环打印,最后打印换行符

4.测试结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值