- 博客(8)
- 收藏
- 关注
原创 ARM跳转指令B的偏移位置如何计算
再取反为0000 0000 0100 1111 0101,此数值转换为16进制为0X4F5,那么偏移量就是-0X4F5.那这个就是实际的偏移地址了吗,非也,看分支指令的最后一句话,arm指令为字对齐,最低两位为0,所以这个偏移量是偏移的命令条数,不是地址,如果要转换成地址需要对此偏移量乘以4,因为没条指令为4字节宽度,最总的偏移量是gap=-0X4F5*4=-0X13D4.绿色框内的汇编程序是BL跳转指令,其实和B道理想通,只是多了带状态位的跳转,偏移量计算是相同的.
2024-01-08 14:38:28
466
原创 一篇文章说清楚所有Makefile的函数
而if函数的返回值是,如果<condition>为真(非空字符串),那个<then- part>会是整个函数的返回值,如果<condition>为假(空字符串),那么<else-part>会是整个函数的返回值,此时如果<else-part>没有被定义,那么,整个函数返回空字串。每一次<text>会返回一个字符串,循环过程中,<text>的所返回的每个字符串会以空格分隔,最后当整个循环结束时,<text>所返回的每个字符串所组成的整个字符串(以空格分隔)将会是foreach函数的返回值。
2023-05-29 17:24:04
118
1
原创 uboot根目录下makefile配置开发板信息分析(以smdk2410_config为例)
在运行Makefile之前,首先进行配置信息设定,执行命令"make smdk2410_config",在uboot根目录Makefile的1879行,smdk2410_config是一个目标,执行此命令后,运行此目标下面的命令smdk2410_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0可以看到目标的依赖文件是"unconfig",此依赖也是一个目标,这个目标是个虚拟的,...
2020-08-18 09:05:55
188
原创 makefile中变量赋值方法
makefile中变量赋值方法赋值运算符:1 =2 ?=3 :=4 +=5 define变量赋值两种类型Makefile中变量赋值分为两种方式:延时变量和立即变量延时变量:使用该变量的时候,才展开该变量,并确定该变量的值(如"=","?=","define"定义的变量)立即变量:定义的时候就已经确定了该变量的值(如":="定义的...
2020-08-10 08:28:21
831
原创 解决Qt creator中生成的exe文件双击运行失败问题
最近在家躲避新冠状病毒肺炎,没事研究下Qt的程序开发,用到了Qt creator,在生成的exe后,在工程中直接运行正常,但是进入到工程目录中,双击生成的exe文件,提示错误一顿查资料后发现是环境变量的问题,果断的添加了系统环境变量果断的添加了系统环境变量运行还是不行,还是提示错误无奈又一顿查找资料,最后发现原来是我的系统环境变量中有了一个"C:\Program Files...
2020-02-02 00:35:46
2722
1
原创 通用性makefile编写模板
在linux的世界里,makefile是不可逾越的编程规则,摆脱了传统的IDE的束缚,但是面对的却是灵活多变的makefile编译规则,如何能以不变应万变,能有个相对通用一点的模板,此模板也在不断的根据工程的扩展在完善:编译规则我定义了3个文件,主要包括makefile文件,config.mk,src.mk,其实在linux里后缀名不重要,这里.mk后缀主要做区分用没有其他特殊含义make...
2020-01-17 09:43:32
238
原创 unix时间戳c语言源码
在单片机程序开发中,经常会遇到做数据存储,利用时间信息做数据的搜索查询,时间格式最好还是用unix时间戳的形式可以直接对时间进行加减运算从RTC中读取的时间一般都是BCD码,如何转换成unix时间戳,简单的做了实现,并开N台电脑从0开始跑到0XFFFFFFFF逐一做了验证/*****************************************************...
2019-09-06 23:27:18
1218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人