摘要:
首先,完成了串口向终端putty的打印函数ConsolePrint(),但该函数只能打印字符串,无法像stdio库中的printf函数一样打印整数和浮点数等。 因此,我先是使用了标准库stdio中的sprintf函数。该函数可以将所要打印的数字格式化成对应的字符串并存储到字符串数组中,如sprint 阅读全文
摘要:
git init——新建本地仓库git add <file/dir>——将文件添加到暂存区,git add .添加当前文件夹所有内容git status——查看当前文件跟踪状态git commit -m "<版本说明>" ——提交暂存区中的文件到本地仓库;git commit -a -m "<版本说 阅读全文
摘要:
通过实际测试,对TC297 Flash的一个地址空间可以重复执行写入操作(program),而不需要先对该区域所在扇区进行擦除。 MPC5675K则需要在写入之前进行擦除。 阅读全文
摘要:
1.MEMORY关键字用于描述一个MCU ROM和RAM的内存地址分布(Memory Map),MEMORY中所做的内存描述主要用于SECTIONS中LMA和VMA的定义。 2.SECTIONS关键字用于定义output section(输出段)的相应input section(输入段)、LMA和V 阅读全文
摘要:
PC(program counter)是CPU中用于存放下一条指令地址的寄存器,SP为堆栈指针。下面将介绍函数调用过程中CPU对PC和SP这两个寄存器的操作。 假设有如下函数Fun 当函数Fun调用其子函数sub-fun时,CPU内部执行情况如下: 1. 执行CPU指令push,将参数a、b入栈,即 阅读全文
摘要:
将函数载入到RAM中运行需要以下三个步骤: (1)用编译器命令#pragma section "<section name>" <user functions> #pragma section 将想要载入RAM运行的函数存储为自定义段名的程序段,其中ax是#pragma section命令中的可选设 阅读全文
摘要:
TC297的系统架构图如下,3个核CPU0/1/2有各自的RAM,分为程序RAM和数据RAM,即PSPR和DSPR。PSPR(或者叫做PRAM)主要用于放置静态函数,提高函数执行效率,或放置flash驱动函数以擦写flash(可参考官方Flash Demo);DSPR主要用于全局变量、现场保护的上下 阅读全文
摘要:
可执行文件中的.bss段和.data段分别存放未赋初值的全局变量和已赋初值的全局变量,两者的特点分别为: (1).bss段:①无初值,所以不占ROM空间;②运行时存储于RAM;③默认初值为0 (2).data段:①占用ROM空间,用于存放初值;②运行时存储于RAM;③程序启动时将其初值从ROM载入到 阅读全文
摘要:
【本文转自:http://www.51hei.com/bbs/dpj-41696-1.html】 .text段:代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代 阅读全文
摘要:
一、BootLoader的作用:BootLoader是固化在PFlash中的一个程序,其作用可以分为两部分:boot和load。 (1)boot:MCU上电时首先会运行BootLoader程序(因为它一般位于PFlash最前面的启动区,接下来会谈到启动区Boot location的概念),BootL 阅读全文