链接脚本ld 链接脚本实质上是一个规则文件,程序员用来指示链接器工作的,当我们编写了多个C文件,调用了大量库,如何编译成一个可执行文件呢?这是链接脚本文件就会发挥他的作用了:将多个目标文件(xx.o)、库文件(xx.a)、动态库(.so)等等链接成一个可执行文件。ilm (rxa!FLASH (wxa!MEMORY表示对内存分布的定义,拿sram (rxa!w) : ORIGIN = 0x1c000000, LENGTH = 256K来说:sram是内存块的名字rxa!
整数0 强制转化为指针 >的优先级高于&。因此 &((type*)0)->member)的解释为先进行:(type*)0)->member 取得member成员的运算,然后再进行取地址& 运算int a;char b;}Msg;return 0;
嵌入式C宏定义特殊字符的用法 1 '#'运算符作为预处理运算符,可以把记号转化为字符串举例:#include <stdio.h>#define INT_TO_STR(n) #n#define VERSION(major, minor) "V"INT_TO_STR(major)"."INT_TO_STR(minor)#define ENUM_TO_STR(e) (#e)typedef enum{ USER_BUTTON_0 = 0, USER_BUTTON_1, USER_BUT
Python使用总结 第一篇 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、python文件首行 #!user/bin/python3的作用二、枚举1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:工作内容涉及到关于python的使用,现在将涉及到的知识点做总结。提示:以下是本篇文章正文内容,下面案例可供参考一、python文件首行 #!user/bin/python3的作用表示用/usr/bin/python3 这个目录所代表的程序解释该python程序二、.
字符串 指针的使用误区 误区使用字符串误区,代码如下误区1:char *get_xx_version() { int file_handle = open("/xxx/xxx.txt",O_RDONLY); char *xxx = NULL; int err = read(file_handle,xxx,8); close(file_handle); log_ota("ver = %s",xxx); return xxx;}结果:ver = NULL原因:NUL
通讯协议制定总结 文章目录前言比较好的帖子转载前言在进行程序设计时,难免会涉及通讯协议的制定,本文通过对工作中用到的通讯协议进行总结,可以为后期制定通讯协议积累经验。制定通讯协议时,要有规范的输出,比如在首页或者第二页要有作者、制定日期、版本、备注这些信息。最主要的是交互模式、通讯逻辑的设计。举例来讲: 比如一问一答、每条命令都需要接收方给出ACK应答确认消息,超时时间设置200ms,连续3次后超时报警。再比如Ymodem协议格式如下图所示帧格式一般取两个字节作为帧头,比如0x5a,0xa5比较好的帖子
总结串口常见收发数据的处理方法 文章目录前言1、普通的发送和接收1.1 普通串口初始化1.2 普通串口接收1.2 普通串口发送2、串口空闲中断+DMA2.1 初始化2.2 串口接收前言工作中经常会遇到需要进行串口进行数据收发的环节。在此总结下串口在接收数据时,常见的一些处理方法,框架、逻辑,目的是以后在做类似的串口数据收发时,能够有所启发。1、普通的发送和接收1.1 普通串口初始化串口初始化函数代码如下:oid UART_Init(void){ GPIO_InitTypeDef GPIO_InitStructure;
嵌入式小结~持续更新 360公司嵌入式软件工程师电话技术面试总结:首相让做个人的技术栈介绍?个人感觉真实展现就可以。其次项目环节问答:OTA项目介绍1、是在NAND flash上还是在NOR flash上实现的?首先需要我们理解这两种FLASH的区别?目前Flash主要有两种NOR Flash和NADN Flash 。接口差别:NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以直接和CPU相连,CPU可以直接通过地址总线对NOR Flash进行访问,可以很容易地存取其内部的每一个字节。NAND
带你玩转M1卡 文章目录本文参考来源前言M1卡指标工作原理存储结构块0~块2的存取控制表块3的存取控制表存取控制判断举例M1卡常见问题及处理建议:本文参考来源巨人的肩膀前言M1卡全称为NXP Mifare1系列,常用的有S50及S70两种型号。M1卡指标分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位每个扇区有独立的一组密码及访问控制。具有防冲突机制,支持多卡操作(实际使用意义不大)无电源,自带天线,内含加密控制逻辑和通讯逻辑电路。数据保存期为10年,可改写10万次,读无限次。工作频率
FreeRTOS系列---事件标志组 文章目录前言事件组、事件位事件组和事件位的数据类型创建事件标志组事件组EventGroup_t 定义如下函数xEventGroupCreate()函数xEventGroupCreateStatic()设置事件位函数xEventGroupClearBits()函数 xEventGroupClearBitsFromISR()函数 xEventGroupSetBits()函数xEventGroupSetBitsFromISR()获取事件标志组值函数xEventGroupGetBits()函数xEventGroup
FreeRTOS系列第9篇---软件定时器 文章目录简介编写回调函数注意事项定时器服务任务定时器相关配置1、configUSE_TIMERS2、configTIMER_TASK_PRIORITY3、configTIMER_QUEUE_LENGTH4、configTIMER_TASK_STACK_DEPTH单次定时器和周期定时器创建软件定时器函数 xTiemrCreate()函数 xTimerCreateStatic()开启软件定时器函数 xTimerStart()简介软件定时器允许设置一段时间,当设置的时间到达之后就执行指定的功能函数,被定时器调
面试过程中经常会问到的职业规划,该如何作答 前言在面试环节中,难免会被问到自己的规划,这里做出一些经验总结。面经★被问未来三年如何规划为了考察你的计划性和稳定性(关系到工作的效率和团队绩效,判断你的规划和公司岗位是否匹配,是否能够更好地发挥你的人才价值。面试不同岗位计划不同。(销售–赚钱的欲望,企图心,三年赚多少钱几年买房子;财务–踏实工作稳中求进,从专业知识进度谈多久考高级证书,注册会计师等)从四方面谈工作计划:1.个人专业(所学专业,多长时间–什么职位,达到什么能力,学习哪些新知识,给出明确时间和达成目标体现有计划性)2.个人性格
FreeRTOS系列第7篇---队列 文章目录1、前言2、队列简介2.1 数据存储2.2 多任务访问2.3 出队阻塞1、前言在实际的应用中,常常会遇到一个任务或者中断服务需要和另外一个任务进行“沟通交流”,这个“沟通交流”的过程其实就是消息传递的过程。在没有操作系统的时候两个应用程序进行消息传递一般使用全局变量的方式,但是如果在使用操作系统的应用中用全局变量来传递消息就会涉及到“资源管理”的问题。FreeRTOS 对此提供了一个叫做“队列”的机制来完成任务与任务、任务与中断之间的消息传递。2、队列简介队列是为了任务与任务、任务与中断之间