- 博客(3)
- 收藏
- 关注
原创 简单分析龙芯start.S部分指令
mfc0,mtc0 : mfc0 从协处理器0的寄存器中读出数据,f表示from;or, xor, xori :or或运算,xor异或运算, xori 中的i表示立即数,意味着和一个数字进行异或运算;lui 加载立即数到高16位,u表示高16位uper,l表示加载(load),从内存读数据到寄存器。sb s表示存储(store),表示是从寄存器写入到内存,b表示字节,表示该指令只操作一个字节;bal b表示跳转(branch),bal表示跳转的同时,保存返回地址到ra寄存器;
2024-05-29 19:24:00
204
原创 windows环境下龙芯ejtag常用的实用指令
program_cachelock XXXX.bin 0x20000,这里引申出一个问题就是每次烧写的时候,是擦除所有flash还是根据烧写代码的大小而决定擦除的大小,根据实际经验来看,是只会擦除重新写代码的片区;2、调试相关:(1)set:暂停CPU;3、通过d4指令查看memory存储的值,该指令不可看flash的值,只能把flash的值映射到ram上再通过d4查看:其中d4/d2/d1只是一次性显示出来的字节长度不一样,d8根据描述是可以改memory的值,但具体没有操作过;
2024-05-21 19:18:03
326
原创 bootloader+和内存地址映射相关
存储地址是代码编译的地址,是指令的存储位置,运行地址是代码编译完成后的实际地址,可以通过Map查看一些全局变量的偏移位置(这个是这些变量的实际地址),实际运行过程中,会将一些代码从Flash里加载到SRAM、DRAM中运行,这样做的好处一是速度更快,二是避免flash空间不够,如果程序是在flash里运行,则运行地址和加载地址是相同的。“如果程序是在ram里运行,但程序是存储在flash里,则运行地址指向ram,而加载地址是指向flash。做单片机固件下载校验,过程中遇到的一些知识点整理;
2024-05-15 19:51:37
198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人