摘要: 前段时间调查了一些异常重启的问题,以及升级功能,都用到了ipc和spi。 记录下一些需要注意的点 1:spi除协议上规定的clk cs mosi miso四根线之外,通常还用了一跟协议外的握手引脚。ioc端通过这个引脚告诉soc数据是否准备好(在这个设定中,soc是master ioc是slave, 阅读全文
posted @ 2021-01-23 12:47 无头之蝇 阅读(952) 评论(0) 推荐(0)
摘要: OUTPUT_FORMAT("elf32-tricore") OUTPUT_ARCH(tricore)ENTRY(_RESET) _ISTACK_SIZE = DEFINED (__ISTACK_SIZE) ? __ISTACK_SIZE : 8K; <表达式1>?<表达式2>:<表达式3>返回 表 阅读全文
posted @ 2020-05-29 17:12 无头之蝇 阅读(461) 评论(0) 推荐(0)
摘要: SDA SCL100K 400K 3.4m1 SDA 数据在SCL高电平稳定,低电平变化开始标志:SCL高电平 SDA拉低结束标志: SCL高电平 SDA拉高开始和结束标志由主机产生。总线忙 :开始标志后一段时间总线空闲:结束标志后一段时间2 字节格式:必须8bit,每个字节必须加一个ack第一个传 阅读全文
posted @ 2020-05-27 17:27 无头之蝇 阅读(469) 评论(0) 推荐(0)
摘要: 1.头文件并不参加链接和编译。编译器第一步要做的就是简单的把头文件在包含它的源文件中展开。不知你是否能理解这句话。也就是头文件里面有什么内容,通通把它移到包含这个头文件的源文件里。(我觉得这是个很重要的概念,可以帮助我们简化理解编译链接的过程,包括理解头文件中定义静态变量或静态函数是怎么回事)。编译 阅读全文
posted @ 2020-02-12 20:24 无头之蝇 阅读(395) 评论(0) 推荐(0)
摘要: 函数 C语言中函数参数传递时,将实参的值拷贝到函数参数的存储区中。这种传递参数的方式称为按值传递。 函数不会访问实参本身,访问的是函数存储在栈区的副本,不会改变实参.函数凋用结束,函数在栈区的内容释放. 若要改变实参本身.需用指针传递待修改变量的地址,使函数参数保存该变量地址的值。然后在函数中,通过 阅读全文
posted @ 2020-01-28 17:44 无头之蝇 阅读(169) 评论(0) 推荐(0)
摘要: 数组: 1:数组名为地址,表达方法: Int A[10]; A;//数组名表示首地址 &A;//数组名加取地址符,仍然表示首地址 &A[0];//第0个元素的地址,即首地址 数组名是指针常量,值不可变,不占用内存空间 2:指针数组(每个元素都是指针 指针数组:double *a[10]; 每个元素占 阅读全文
posted @ 2020-01-26 21:52 无头之蝇 阅读(179) 评论(0) 推荐(0)
摘要: 指针变量:用于存放另一个变量的地址 (指针变量所占空间大小由操作系统决定32/64位 4/8字节 // 声明且定义:int *p=&a; 声明、定义:int *p; p= &a; Double *p =d; (int)(p+1)-(int)p = 8; P指针变量所代表地址 指向 double类型变 阅读全文
posted @ 2020-01-25 19:52 无头之蝇 阅读(501) 评论(0) 推荐(0)
摘要: 内存的分配方式 而rom中,没有堆区和栈区,只有数据段和代码段。 ram是在程序运行是的内存 rom是程序烧录的地方 Flash(闪存)、EEprom,都是rom Flash容量大,是程序存储器,按照块擦除,用于存储BootLoader和程序代码 E方是数据存储器,容量小,可以一次擦除一个字节(在有 阅读全文
posted @ 2020-01-20 20:46 无头之蝇 阅读(920) 评论(0) 推荐(0)
摘要: 首先几个基本概念(网上的各种说法都很乱;个人理解整理了一下 内存分类方法很多,四区(动态区,静态区(全局区)、文字常量区,代码区); 五段(stack heap bss data text); 从存储的角度看 rocode 存储再flash(或称rom)里的code (rocode基本等同于(.te 阅读全文
posted @ 2020-01-18 23:48 无头之蝇 阅读(439) 评论(0) 推荐(0)