全部学习汇总: GreyZhang/TriCore_Tasking_Compiler_Skills: Some skills for Tasking compiler on AURIX platform. Happy hacking! (github.com)
看了一下这个章节的内容,原本看着页数很多拆分成了两次学习。后面发现剩下的这部分内容主要并不是框架性的信息而是偏细节性的信息,这样这一次的学习笔记内容可能并不会很多。
从这里的描述看,section的创建编译器以及链接器都是可以实现的。如果整个内容对等,是否意味着其实链接文件是一个可选的部分?
1. section,使用汇编进行软件设计的时候必须自己去创建。
2. 这种定义以及激活的配对使用,换一个语言模型其实也很容易理解。虽然不够恰当,但是这种模式跟C语言中的定义以及声明的模式还是有一点相似的。
3. 链接器检查到如果同一个section有不同的属性的时候会报错,如果属性相同则会收集起来分配到相应的存储。
1. 可以通过命令指定链接器来清除存储。看到这里,我觉得是不是可以通过这种方式来填充未使用的存储?
2. 这里看到了一个关于内置函数的说法,那就是浮点类的功能尽量不要用,因为再不同的平台上出现的效果可能并不相同。从这一点,其实也可以看得出来,这种转换是汇编器的功能而不是单片机的机器码的功能,否则相应的结果应该是一致的。
内置的函数有数学类、类型转换类、字符串类、宏函数类、地址计算类以及模式处理类。
1. 汇编器的指令以及控制,一定程度上可以看作是伪指令。其实,做一个具体功能的描述那就是这部分功能编译器认识但是机器指令中其实是没有的。
2. 这类指令分几种:不会生成机器指令的、会展开成机器指令的、条件编译类的、等效汇编选项的。
有些伪指令的功能还是很强大的,比如说可以直接实现print的功能。能够在汇编级别直接使用这样的功能,而且是从编译器角度支持的,这个的确是十分强大且便捷。
其他的信息主要是对涉及到的内置的函数以及指令的具体功能的介绍,我直接跳过没有仔细看。目前来说,先需要构建AURIX知识体系的骨架,至于血肉毛发部分后续再进行补充。