![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
不学习就会被淘汰
这个作者很懒,什么都没留下…
展开
-
特此声明
鉴于该博客太乱,看着不舒服,作者已把重要的东西迁移到别处,此博客不再更新新的文章!!!!!!!原创 2020-11-29 16:32:59 · 183 阅读 · 1 评论 -
(备忘)使用TrueSTUDIO和MDK编译器生成.bin文件
一、使用TrueSTUDIO生成.bin文件找到当前工程的属性设置,在下面输入框里输入以下指令,重新编译程序即可得到.bin文件arm-atollic-eabi-objcopy.exe -O binary ${BuildArtifactFileBaseName}.elf ${BuildArtifactFileBaseName}.bin标题二、使用MDK生成.bin文件...原创 2019-12-02 14:42:11 · 406 阅读 · 0 评论 -
(一)编写Bootloader程序应该注意的一些问题
一、简介在嵌入式设备中通常有一个、两个或者更多的程序,它们之间相互独立但会瓜分同一个FLASH的存储空间(当然也可能存放在其他可执行的存储设备上),且每一个程序占用的地址是连续的。对于只有一个程序的单片机,上电后会直接被执行,通常被称作应用程序,然而当一个单片机的FLASH中存有多个程序,就必须有一个引导加载程序来引导单片机去执行对应的应用程序,而这个引导程序就是我们常说的BootLoade...原创 2019-12-02 14:36:37 · 821 阅读 · 0 评论 -
ST系列MCU通过ISP下载程序
一、工具1、ST系列MCU开发板;2、串口线;3、FlashLoader软件。二、操作步骤1、首先用串口线连接开发板的ISP接口和电脑,根据不同的情况开发板的BOOT引脚进行如下配置: BOOT0 BOOT1 下载程序时配置 1 0 运行程序时配置 0 0 因为我们是下载程序,所以就按照下载程序的配置去配置BOOT引脚...原创 2019-12-01 20:48:09 · 2351 阅读 · 0 评论 -
使用ST-LINK通过SWD接口给ST系列的MCU直接下载.hex文件或者.bin文件
一、工具1、使用ST公司的MCU开发板;2、ST-LINK下载器;3、STM32 ST-LINK Utility软件。二、操作步骤1、没有装该软件的需要从ST官网下载好STM32 ST-LINK Utility软件,该软件的下载地址如下;(下载地址:http://www.st.com/content/st_com/en/products/embedded-software/...原创 2019-12-01 16:53:29 · 3628 阅读 · 0 评论 -
使用J-Link通过SWD接口直接下载.hex文件和.bin文件到MCU
一、工具1、J-Link下载器;2、与MUC匹配的.hex文件和.bin文件;3、SEGGER软件;4、烧录软件的开发板。二、操作步骤1、首先J-Link下载器需要准确与自己的开发板和电脑连接好,然后给开发板供电;2、找到SEGGER软件安装目录,选择如下图1所示的软件打开(没有安装该软件的可以去官网下载,官网地址:https://www.segger.com/down...原创 2019-12-01 16:07:38 · 5806 阅读 · 3 评论 -
FreeRTOS嵌入式实时操系统查看指定任务剩余堆栈大小方法
1.找到FreeRTOSConfig.h配置文件添加宏定义#define INCLUDE_uxTaskGetStackHighWaterMark 12.定义一个变量用来存放剩余堆栈大小值UBaseType_t sizeFree;3.在任务中添加获取剩余堆栈大小的函数该函数有一个参数,传递的是要查看的任务的句柄而非任务名,通过调试或者打印输出即可得到所要查看任务大概剩余...原创 2019-11-19 10:32:09 · 2843 阅读 · 0 评论 -
HEX文件格式
以*.hex为后缀的文件我们称之为HEX文件。 HEX的英语原始意思是16进制。这种文件格式主要用于保存单片机固件。整个文件以行为单位,每行以冒号开头,内容全部为16进制码,2个ASCII码字符表示1个Hex字节:020000040804EE:10000000A8990020C1010408830B040839080408DA:100010007F0B0408AB020408551...原创 2019-08-21 17:21:07 · 2659 阅读 · 0 评论 -
堆(heap)和栈(stack)的区别
堆(heap):用于通过malloc之类的函数给变量分配空间,由程序员分配和释放,若程序员不释放,程序结束时可能由系统(OS)回收;栈(stack):用来保存函数返回地址和局部变量,由编译器自动分配和释放。堆和栈的大小要根据用户的具体程序进行合理设置,过小的堆和栈会引起程序执行异常。堆(heap):是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的...原创 2019-08-21 16:00:38 · 360 阅读 · 0 评论 -
(三)使用STM32CubeMX创建一个USB+FATFS的TrueSTUDIO环境下的工程
一、准备工具STM32CubeMX软件; TrueSTUDIO软件; STM32F429BI开发板带USB接口一块。二、USB电路图从电路图可以看出,只有两个接口与单片机连接,虽然使用的是单片机的高速引脚,但缺少高速芯片(自行科普),只能拿高速(HS)引脚当全速(FS)引脚用。三、使用STM32CubeMX配置USB及FATFS1.时钟配置我这里使用的是高速外部时钟...原创 2019-08-21 14:38:44 · 1440 阅读 · 2 评论 -
链表
一、链表数据结构typedef struct student{ int score; struct student *next;}LinkList;二、创建链表/* 创建n个节点的链表 */LinkList *creat(int n){ int i; LinkList *head; /* 头节点 */ LinkList ...原创 2019-07-11 14:36:50 · 99 阅读 · 0 评论