suxiang198的博客

技术+想法=实现

[ArmCompiler6--armlink]Keil-MDK中scatter file语法

简述keil MDK IDE目前在MCU开发中使用非常广泛,有些时候可能要做一些代码移植,或者更加灵活的处理memory的问题,就需要用到scatter file了,这里对scatter file的一些写法做些学习。典型的scatter file结构load region的描述load_regio...

2017-04-27 11:59:53

阅读数:1022

评论数:0

[ArmCompiler6--armlink]Keil-MDK中scatter load机制

简述Keil MDK工具中,Armlink使用scatter加载机制来描述一份image在memory map中的划分。 image的memory map由regions和output sections组成。Scatter加载需要使用Scatter加载的场景 复杂的memory map,比如各种...

2017-04-26 18:26:28

阅读数:1152

评论数:1

[ArmCompiler6--armlink]armlink使用介绍

简述早前Keil被ARM收购,而目前比较主流的嵌入式系统的IC都是ARM架构的,因此许多嵌入式工程开发环境是Keil,一些比较复杂的情况下需要根据自己的需要划分memory空间,因此对Keil中链接脚本的内容值得学习一番。下面的介绍都是基于ARM Compiler armlink v6.4 Rel...

2017-04-26 16:46:51

阅读数:973

评论数:0

[CortexM--CoreSight]ARM Cortex M调试技术

简述嵌入式系统开发中,调试与测试是非常重要的,ARM Cortex M也针对于不同场景和需求,提供了专门的调试技术,一般在ARM Cortex M架构的IC内都会集成CoreSight模块专用于调试。像ARM 7/9/11之类的是更早一类调试技术,ARM CortexA应该有更高速的调试技术了。这...

2017-04-01 16:30:06

阅读数:1169

评论数:0

[CortexM4--stm32f411]调试接口

简述对STM32F411所支持的调试接口及其方式进行简单的学习。调试接口STM32F411的调试接口硬件示意如下: 在调试模式下,MCU核在某条特定指令获取(断点),或者是数据获取时(Watch Point)时可以被停住,MCU核的内部状态以及外部状态均可被测量,在测量完成后,MCU核会恢复...

2017-03-29 20:50:25

阅读数:1182

评论数:0

[IAR]Win7升级成Win10后用IAR编译项目出现System Error Code: 704

简述:Win7 64bit系统,使用IAR编译工程。在升级到Win10后,同样的工程,编译时提示System Error Code: 704,System Error Message: 请求的操作需要提升。解决方法一:看到System Error Message: 请求的操作需要提升,怀疑是否需要...

2016-05-22 15:05:06

阅读数:3248

评论数:0

[CortexM3--CC26XX]Watchdog Timer(exp)

简述Watchdog即看门狗,在发生SW Error或外部设备没有正确respond时,可以产生一个nonmaskable中断–NMI,或一般的中断,或在设定的超时时间到达时进行reset。 另外,Watchdog也可以被配置成,第一次超时到达时向MCU报告一个中断,在第二次超时到达时产生一个r...

2016-04-27 18:19:01

阅读数:1328

评论数:4

[CortexM3--CC26XX]UARTs

简述UART在嵌入式开发中非常重要,因为很容易在PC找到串口,用来跟嵌入式设备进行简单的通信。比如常见的命令行交互方式……可以输出Log,可以输入命令等等。因此几乎所有的IC都会支持有UART功能。CC26xx UART功能速度可达到3Mbps 单独的32*8的TX FIFO和32*12的RX ...

2016-03-29 16:39:36

阅读数:1962

评论数:0

[CortexM3--CC26XX]IO Control

简述IO Control即IC的Input/Output Control,即常见的GPIO的说法。CC26xx有pin mux的功能,即可以将其支持的外设功能配置到任意的IO口上(其中AUX和JTAG只能map到固定的IO pin上)。封装的不同,IC所提供的IO口数量也会不同,CC26xx可以有...

2016-03-29 16:19:08

阅读数:1070

评论数:0

[CortexM3--CC26XX]使用IAR编译Application工程时的xdctool错误

简述TI的CC26XX可以使用CCS编译链接器开发,也可以使用IAR。但是在Win7电脑刚安装好TI的Stack和Demo Project后,使用IAR进行编译,结果在编译Application工程时出现一个xdctool的编译报错。报错内容大概如下:Error while running &qu...

2016-03-17 14:19:44

阅读数:2852

评论数:0

[CortexM3--CC26XX]Memory系统VIMS

简述TI的CC26XX的memory管理部分使用了Versatile Instruction Memory System–VIMS来实现。 如下是CC26XX的memory情况: 128kB的Flash主要是给用户开发自己的应用使用吧,但是编译TI的应用代码时,会发现有两份Flash im...

2016-03-14 16:49:23

阅读数:1208

评论数:0

[CortexM3--CC26XX]Power Reset and Clock

简述CC26XX是TI的CortexM3 core的一系列IC,广泛用于无线通信应用中,主要特色是低功耗。TI的CC26XX的Power Reset and Clock管理简称为PRCM。 TI-RTOS对这部分做了封装和处理,其实不需要关注OS细节的,只进行应用开发的开发者而言,并不需要过多关...

2016-03-14 15:15:06

阅读数:691

评论数:0

[ARM7--LPC2478]带USB功能的启动代码的分析

简述LPC2478支持USB Host/Device/OTG功能。使用的是OHCI架构的USB。结合对LPC2478的了解,记录下其启动代码的分析,用于了解其USB的工作方式以及配置流程。启动代码的流程从IC上电开始,LPC2478应当首先会执行其内部固话的Boot Loader code,具体是...

2015-10-26 08:25:10

阅读数:814

评论数:0

[ARM7--LPC2478]Memory Map

简述ARM7的Memory空间为4G(32 bit寻址空间决定)。不过对于嵌入式的这种MCU而言,其实很多空间都是保留的,只使用了其中的一小部分。Memory Map先看总体的图: AHBAHB部分的memory map如下: AHB部分在LPC2478的系统框架部分有介绍过其模块,这里就...

2015-10-25 15:03:31

阅读数:1242

评论数:0

[ARM7--LPC2478]系统框架

简述LPC2478是比较“老”的一颗IC了,ARM7的核。关于其特性,功能等等就不多说了,一般IC资料都会有详细说明。这里主要是对其框架做下记录,便于快速查阅和应用代码的调试时参考。系统框图Block Diagram。 简要说明ARM7TDMI-S这部分是内核,提供了模拟,测试,调试等接口。因为...

2015-10-25 11:40:00

阅读数:560

评论数:0

[ARM7--LPC2478]Power及Clock

简述LPC2478是NXP出品的一颗ARM7架构的IC。其实目前看,其功能和一颗Cortex-M3的差不太多。NXP的IC用在工业领域比较多,而目前这一颗应用就是一个仪器设备的控制器,这个设备总体还是比较复杂的,不过的确很稳定。ARM7和Cortex-M3相比,应当就是内部架构有改变吧,对于软件实...

2015-10-25 11:11:06

阅读数:460

评论数:0

[CortexM--CMSIS]详细的说明

问题描述CMSIS是ARM Cortex微控制器软件接口标准,是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。 使用CMSIS,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。一般CMSIS是Cortex-M I...

2015-07-30 16:56:11

阅读数:1089

评论数:0

[CortexM0--stm32f0308]Low Power Mode

问题描述stm32f0308正常是运行在Run mode下,这种mode是在reset之后的默认模式。Low Power Mode,即低功耗模式,用于在IC空闲时可以考虑选择进入,使系统耗能降低,在必要的时候通过唤醒在进入Run mode正常工作。Low Power Mode,在嵌入式系统中考虑的...

2015-07-26 18:37:21

阅读数:1688

评论数:0

[CortexM0--stm32f0308]CRC简述

问题描述CRC,即循环冗余码校验,是一种对传输/存储数据的完整性进行检查的校验算法。因为在许多地方可能都会用到,所以stm32f0308就将这个算法用一个CRC硬件计算单元实现在了IC中,当有应用要用到CRC时,那么就可以通过软件来控制该硬件单元实现需求。CRC计算单元框图如下: 具体的实现...

2015-07-26 11:41:02

阅读数:955

评论数:0

[CortexM0--stm32f0308]Flash memory

问题描述Flash在IC中用来存放code和const data,对于其中没有用到的Flash部分,可以使Application用来做data storage用。IC一般应用场景下都是会经常断电的,而有些数据需要记录之前的一些状态等内容,因此需要掉电保留的特质,Flash正是这样的设备。stm32...

2015-07-26 11:13:22

阅读数:4269

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭