上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 24 下一页
摘要: 串行通讯与并行通讯按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是 8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。而并行通讯一般是指使用 8、 16、 32 及 64 根或更多的数据线进行传输的通讯方式,它们的通讯传输对比说 阅读全文
posted @ 2017-06-22 16:05 Crystal_Guang 阅读(1088) 评论(0) 推荐(0) 编辑
摘要: 连接器的功能,是将一个可执行程序所需的目标文件和库文件最终整合为一体。一个程序通常包含传统的三个段,.test, .data, .bss段。连接器的功能就是将各个目标文件个库文件中的三个段进行合并。 重定位的概念 链接而生成的可执行程序虽然是放在文件中的,但当程序运行时需要加载到内存中。各段应该放在 阅读全文
posted @ 2017-06-22 15:37 Crystal_Guang 阅读(1065) 评论(0) 推荐(0) 编辑
摘要: objcopy的作用是拷贝一个目标文件的内容到另一个目标文件中。objcopy使用GNU BFD库去读或写目标文件。objcopy可以使用不同于源目标文件的格式来写目的目标文件(也即是说可以将一种格式的目标文件转换成另一种格式的目标文件)。objcopy在进行目标文件的转换时,将生成一个临时文件,转 阅读全文
posted @ 2017-06-21 21:22 Crystal_Guang 阅读(1328) 评论(0) 推荐(0) 编辑
摘要: 官方资料整理测试: 多任务和单任务几乎没有差别。只用多创建一个或多个任务,其他地方和单任务时相同。 这里采用一个任务做LED灯闪烁,一个任务做蜂鸣器,可以看到两个任务展现出似乎同时运行的现象。 但是,其中有一个地方需要测试。 我们知道裸机中,优先级设置一样时,会看硬件编号,小的优先级高。 freer 阅读全文
posted @ 2017-06-21 15:24 Crystal_Guang 阅读(18225) 评论(0) 推荐(3) 编辑
摘要: 本章参考资料《ARM Cortex™-M4F 技术参考手册》 -4.5 章节 SysTick Timer(STK), 和4.48 章节 SHPRx,其中 STK 这个章节有 SysTick 的简介和寄存器的详细描述。因为SysTick 是属于 CM4 内核的外设,有关寄存器的定义和部分库函数都在 c 阅读全文
posted @ 2017-06-20 21:26 Crystal_Guang 阅读(1428) 评论(0) 推荐(0) 编辑
摘要: 原创(当然借鉴了官网资料^_^): 在之前的移植工作准备好之后,我们需要调用freertos提供给我们的API函数实现操作系统地运行。首先,第一个函数: 任务函数任务是由 C 语言函数实现的。唯一特别的只是任务的函数原型,其必须返回 void,而且带有一个 void 指针参数。void ATaskF 阅读全文
posted @ 2017-06-20 16:48 Crystal_Guang 阅读(12365) 评论(0) 推荐(0) 编辑
摘要: 在嵌入式软件开发中,有时需要知道所生成的程序文件中的段信息以分析问题,或者需要查看c语言对应的汇编代码,此时,objdump工具就可以帮大忙了。obj——object dump:转储。 采用 -d选项,可以查看程序文件的汇编代码: 在使用-d进行反汇编时,另一个很有用的选项就是-S(大写),它的作用 阅读全文
posted @ 2017-06-19 10:36 Crystal_Guang 阅读(847) 评论(0) 推荐(0) 编辑
摘要: 编译器创建一个输出文件,这个文件包含了可重定位的对象。这些对象就是源程序中的数据和机器指令。 生成的具体信息可以见之前的博客:http://www.cnblogs.com/yangguang-it/p/6916769.html 的测试的输出。 写这个随笔是为了接应上一次的-> gcc,一个神奇的编译 阅读全文
posted @ 2017-06-18 16:32 Crystal_Guang 阅读(215) 评论(0) 推荐(0) 编辑
摘要: extern int *x; extern int y[]; x是一个指向int类型的指针,y是一个int型数组,没有给出数组长度,是不完整类型,但是声明的时候数组的长度并不是必须,但我还是建议加上数组的维数,那样只看声明就能知道数组有多大。上面两个声明是不同的数据类型。 什么是声明,什么是定义? 阅读全文
posted @ 2017-06-01 15:24 Crystal_Guang 阅读(346) 评论(0) 推荐(0) 编辑
摘要: typedef static char int8;这个声明正确吗? A:err 所以上面那个声明是错误的。 typedef为一种类型引入新的名字,而不是为变量分配空间,它并没有引入新的类型,而是为现有的类型取个新名字。在说到typedef时,有一个很好的例子是signal()函数声明,但是,一般而言 阅读全文
posted @ 2017-05-31 21:33 Crystal_Guang 阅读(711) 评论(0) 推荐(0) 编辑
摘要: gcc是“GNU Compiler Collection”的缩写,从字面意思可以知道它是一个编译器集。gcc不止可以编译器c语言,还能用于c++,java,object-C等语言程序。但是在这里,我们的嵌入式学习中,目前只去关注gcc在C语言方面的编译功能。 .什么是交叉编译器 在嵌入式系统开发中, 阅读全文
posted @ 2017-05-28 21:43 Crystal_Guang 阅读(23506) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-05-23 21:58 Crystal_Guang 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 现在准备的简单程序LED灯的工程目录中增加freertos文件夹: 在 source目录下的portable目录下只留下下面的文件夹: 为什么呢? 把对应文件移植在工程中之后,添加头文件路径如下图: 编译之后,报错如下: 提示少了配置文件,那么我们可以在官方demo文件目录下复制一个到我们工程中来。 阅读全文
posted @ 2017-05-22 21:16 Crystal_Guang 阅读(13387) 评论(0) 推荐(2) 编辑
摘要: make是以从上到下的顺序读入Makefile中的内容的。然而,处理Makefile中的语句却并非完全从上到下。 大体上,make处理一个Makefile分为两个阶段。第一个阶段包含: 1.make读入Makefile,以及Makefile中所包含的其他Makefile; 2.make分析并获得变量 阅读全文
posted @ 2017-05-22 16:51 Crystal_Guang 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 从Makefile的角度看,一个可以改善编译效率的地方与其中的隐式规则有关。为了了解make的隐式规则,我们把之前的simple项目的Makefile做一点更改,删除生成.o文件的规则(与隐式规则相对应的是,在Makefile中定义的规则称为显示规则)。 我们make一下,还是成功了,这就是make 阅读全文
posted @ 2017-05-22 16:09 Crystal_Guang 阅读(1027) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 24 下一页