随笔分类 -  MCU

摘要:首先,完成了串口向终端putty的打印函数ConsolePrint(),但该函数只能打印字符串,无法像stdio库中的printf函数一样打印整数和浮点数等。 因此,我先是使用了标准库stdio中的sprintf函数。该函数可以将所要打印的数字格式化成对应的字符串并存储到字符串数组中,如sprint 阅读全文
posted @ 2019-12-04 17:02 凉风SK 阅读(690) 评论(0) 推荐(0)
摘要:1.MEMORY关键字用于描述一个MCU ROM和RAM的内存地址分布(Memory Map),MEMORY中所做的内存描述主要用于SECTIONS中LMA和VMA的定义。 2.SECTIONS关键字用于定义output section(输出段)的相应input section(输入段)、LMA和V 阅读全文
posted @ 2019-09-15 12:02 凉风SK 阅读(12989) 评论(6) 推荐(2)
摘要:PC(program counter)是CPU中用于存放下一条指令地址的寄存器,SP为堆栈指针。下面将介绍函数调用过程中CPU对PC和SP这两个寄存器的操作。 假设有如下函数Fun 当函数Fun调用其子函数sub-fun时,CPU内部执行情况如下: 1. 执行CPU指令push,将参数a、b入栈,即 阅读全文
posted @ 2019-09-08 22:01 凉风SK 阅读(10130) 评论(2) 推荐(3)
摘要:可执行文件中的.bss段和.data段分别存放未赋初值的全局变量和已赋初值的全局变量,两者的特点分别为: (1).bss段:①无初值,所以不占ROM空间;②运行时存储于RAM;③默认初值为0 (2).data段:①占用ROM空间,用于存放初值;②运行时存储于RAM;③程序启动时将其初值从ROM载入到 阅读全文
posted @ 2019-09-03 20:53 凉风SK 阅读(3799) 评论(0) 推荐(0)
摘要:【本文转自:http://www.51hei.com/bbs/dpj-41696-1.html】 .text段:代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代 阅读全文
posted @ 2019-02-15 11:09 凉风SK 阅读(1616) 评论(0) 推荐(0)
摘要:一、BootLoader的作用:BootLoader是固化在PFlash中的一个程序,其作用可以分为两部分:boot和load。 (1)boot:MCU上电时首先会运行BootLoader程序(因为它一般位于PFlash最前面的启动区,接下来会谈到启动区Boot location的概念),BootL 阅读全文
posted @ 2019-02-14 17:25 凉风SK 阅读(4227) 评论(2) 推荐(1)
摘要:volatile,作用就是告诉编译器不要因优化而省略此指令,必须每次都直接读写其值,这样就能确保每次读或者写寄存器都真正执行到位。——野火 阅读全文
posted @ 2019-01-30 11:13 凉风SK 阅读(719) 评论(0) 推荐(0)
摘要:1.安装JDK32位版 2.安装Eclipse for Tricore 32位版(应该也只有32位的) 3.OK(如果打开Tricore提示找不到JDK的话,在网上搜索如何配置JDK,修改环境变量) 注意:Eclipse的位数必须和JDK位数相同(即不能用JDK64位版) 阅读全文
posted @ 2019-01-23 23:53 凉风SK 阅读(1715) 评论(0) 推荐(0)