cortex-m3内核系列芯片启动文件一样吗?

 加密芯片是对内部集成了各类对称与非对称算法,自身具有极高安全等级,可以保证内部储存的密钥和信息数据不被非法读取与篡改的一类安全芯片的通称。使用到安全加密芯片的产品:银行加密U盾、刻录机、加密硬盘、PC锁、手机、智能门锁、公交地铁等。在使用到安全加密芯片这些产品中,储存在安全芯片里面的数据会进行高可靠性加密处理,使得这些数据很难被非法窃取。

      CRP是一种允许用户在系统中启用不同级别的安全性的机制,从而可以限制对片上闪存的访问和ISP的使用。当需要时,通过在0x0002FC中闪存位置编程特定模式来调用CRP。IAP命令不受代码读取保护的影响。

注:切记在产品最终固件中才可使用CRP3,否则芯片将被锁死不能再被解锁。

      GD32系列加密与和STM32系列加密方式类似。GD32内部包含一个FMC外设。FMC提供了一个安全保护功能来阻止非法读取闪存。此功能可以很好地保护软件和固件免受非法的用户操作。

  • 芯片还支持Boot时完全解密程序到内部RAM或外部SDRAM,这种方式代码的启动速度略微变慢,但是能够支持更多的启动方式:SD卡、MMC、Nand Flash等。
1,这个 系列的芯片跟STM32系列,脚位 是否完全兼容。? 2,芯片的运行频率多高? 3,每路的PWM,每个通道 能不能分别独立控制频率和占空比?
可以兼容使用,最高主频为108MHz,高级定时器的PWM都可以独立控制占空比。
有外部总线扩展接口EXMC
5V的比较好,,有时候还是需要5V的。
5V扩展型产品将于今年下半年推出。
ADC模块的转换速度怎么样?
GD32 Cortex-M3系列通用MCU在消费领域用量比较大。请问专家:那它的系统功耗多少呢?
GD32 Cortex-M3主要应用方向在哪?要竞争消费电子吗? 希望申请GD32的评估套件,对芯片性能进行评估.GD32的芯片质量如何,相比于TI NXP等MCU?GD32电源是否能用5V,芯片所有IO是否能够承受5V,是否适合用在工业控制?
可应用于消费和工业类市场,可以申请开发板。
EMC符合工业级应用标准,具体参数请参考datasheet。
GD32 MCU的供货充足么? STM32在淘宝有很多卖家,小批量可以很容易选购。 希望GD32也能很容易买到。
具备充足的供货能力保障,并且大批订货的交期均为4-6周。
GD32 MCU目前有没有成熟的工业现场应用的案例呢?谢谢
已经有非常多的用户在工业现场环境下使用,更多的应用分享请关注
GD32 的片内外设接口是复用的还是相互独立的?
基本都是独立的,部分也可以复用。
已经内置MAC,需要外接PHY。
GD32F107系列以太网互联型产品已经正式量产。
GD32f107系列能通过通信方式实现远程系统软件升级吗?
可以支持IAP方式的远程系统升级。
GD32F的内部0等待Flash的读写,有相关详细说明文档和相关的数据吗?
请参考今天的演讲内容了解性价比优势。
GD32有支持库吗?还是直接操作寄存器
有支持的库文件,并具备系列兼容性。也可以直接操作寄存器。
GD产品替换ST 的有没有详细的文档,讲解程序方面的修改?
可以参照我们网站的论坛相关讨论内容。并下载相关资料。
GD的跟ST的完全兼容吗?
用户可以在硬件上兼容使用,软件上则需要根据具体应用情况来修改。
gFlash专利技术有何特点?优越性在哪?
GD32 MCU面对低功耗应用的需求,在功耗上进行了优化设计。在全速运行下的工作电流和系统功耗都低于市场同类产品。详细的功耗参数可以参考datasheet。
RTC时钟稳定吗?有没有ST时钟不稳的问题
稳定。目前没有客户反馈RTC问题。
GD32 MCU具备极高的性价比,请参考今天的演讲内容了解。
此款CPU主频是多少?
可以兼容使用各种底层驱动资源。
仿真器可以使用通用的J-Link吗?
该芯片的ADC采样速度和精度怎么样?可以同时采集多少通道的数据?
ADC采样速率为1MSPS,精度为12位,最多同时支持21个通道。
功耗控制方面如何?跟其他同类产品相比有竞争力吗?
请参考今天的演讲内容了解功耗及性价比优势。
关于这款芯片你们有相关全面的例程介绍吗?方便我们上手吗?
可以使用我们的系列开发板做入门评估测试,都备有完整全面的参考例程和使用手册。
贵公司的GD32从价格、运算速率及功耗等方面与其它公司(如TI、freescale、Atmel)的ARM M3相比有哪些突出的优点?谢谢!
GD32 MCU具备了极高的性价比:代码执行效率高,功耗低,价格也非常具有竞争力。具体介绍请参考今天的演讲内容了解。
技术支持雄厚不 方便开发啊
我们遍布全国的服务网络和代理商体系都可以为客户提供专业快速的本地化技术支持服务,这也是我们立足于国内市场的竞争优势。
介绍说GD32对程序有双重保护功能,请问是哪哪两重呢?
结合Unique ID做加密和芯片的加密存储机制,是双重安全保障。
今天主要是讲107系列的么
GD32系列MCU目前包括6大产品系列,124个型号,覆盖从低端到高端的应用需求,并且全系列硬件和软件相互兼容,都可以供用户灵活选择。
开发工具可以用哪些啊?
支持兼容使用IAR、KEIL等开发环境和J-Link、U-Link等第三方调试工具。
可获赠GD32F107C-EVAL,太好了,希望得到一个,客户可以轮流体验
可以用MDK开发环境吗?多少路AD?
可以使用MDK,ADC最多支持21个通道。
请参考今天演讲的内容了解性价比优势。
对,将于今年下半年推出。
目前是不是还没出105和107系列的呢
105和107系列互联型产品已经在2013年10月正式发布,目前已经成熟量产。
能说说,该MCU与ST,恩智浦或其他主流MCU之间的特点么
可以参考今天演讲的相关内容:GD32 MCU的优势特性分析。
您好,请问GD32的待机功耗是多少,正常工作时的功耗是多少?
您好,请问一片 Cortex-M3系列的MCU价格一般是多少?
请联络我们的当地代理商渠道获取价格信息。
期待,不知道板子的图像处理、与外设数据交换、工业现场稳定性如何?
GD32 MCU 是工业级MCU产品,符合工业级应用标准和要求。
请问,该单片机和同系列的ST公司的M3单片机相比,优势在哪?
请参考今天演讲的内容了解性价比优势。
请问,有带网络接口的型号吗?最大内存释放只有128KB?
可选用支持以太网接口的GD32F107系列,最大内存96KB。
请问GD32 Cortex-M3系列通用MCU全线都可以与STM32的MCU替换么?转换平台的话有何难度?性价比如何?
用户在硬件上兼容使用,软件上则需要根据具体应用情况来修改。具备相同的内核,平台转换方便易用。
请参考今天的演讲内容了解性价比优势。
请问SPI的总线接口真的可以达到18MHz吗?
请问此芯片和stm32的m3相比,在开发上和性能上有什么优势?
请参考今天演讲的内容了解性价比优势。
请问和st的cortex-m3差别在哪里,价格差多少。
请参考今天演讲的内容了解性价比优势。
目前我们的工作温度范围为-40到85度,未来会考虑推出105度的产品。
请问下 GD32 CPU 的供电范围为什么是: 网站下载并参与在线论坛讨论,分享使用经验。
数据手册那里可以下载.
在硬件上可以兼容使用,软件上需要根据具体应用来修改。目前还没有客户反馈我们的I2C有问题。
我公司产品目前所用ST的型号很多,有STM32F103VC、STM32F101RC、STM32F100C8、还有STM8S等,经代理商推荐测试后准备逐一退换为GD相对应的产品。测试中也遇到一些问题,虽然已经解决,但觉得还是与ST的有一些出入,特此提出:
我想請問~~這個開發板適合用來教學用嗎?價位如何呢?需要搭配甚麼樣的書籍與需要甚麼樣的基礎作為學習門檻呢?
完全适合教学使用,我们还提供了详细的软件例程和使用手册。
我想问一下开发板 烧写器和工具是什么
开发工具都是兼容的,可以使用J-Link、U-Link以及第三方工具来调试,我们也推出了串口和USB下载升级的软件,都可以在网站下载。
我这边打开/),请问这就是gd32的官网吗?
就是我们GD32 MCU的技术子站,包括留言板和论坛等都运行在21ic平台。
想比如STM同类型的产品,有何优缺点?
请参考今天演讲的内容了解性价比优势。
循环冗余检验采用的是CRC-16?还是32?还是多少?
用过STM32的库,感觉写起程序来还是挺方便的,还有就是ST也提供了一些外设初始化的图形界面软件,不知道GD开发过程中是不是也会提供类似或都更加方便的开发辅助工具呢?
可以兼容使用现有的软件代码。
有成熟的方案吗?参考一下,固件移植依然存在问题.
更多方案请访问网站了解并参与在线论坛讨论,分享使用经验。
有计划出M4的产品吗?
有没有推出低成本的cortex-M0 MCU呢?官网有没有基于M3内核的物联网解决方案呢?提前把视频看完了呢。。。感觉国内来说兆易创新做的还是不错的呢,希望加入一些特色的技术(专利),有自己的优点呢,另外加大推广抢占中国的市场呢。\
可以选用我们的超值型Cortex-M3产品,M0的价格,M3的性能,具备极高的性价比。
目前没有支持Profibus接口。
有中文资料吗?有固件库吗?
针对某品牌的CM3单片机,有一个众所周知的bug,那就是IIC模块存在容易锁死且无法主动恢复失效,不知道GD32有没有这样的问题。
GD32没有这样的问题。
之前的Cortex-M3核芯片移植到GD32上,软硬件改动大吗?
用户在硬件上兼容使用,软件上则需要根据具体应用情况来修改。具备相同的内核,平台转换方便易用。
支持国产ARM,想关心下这款arm与STM32系列的ARM,LPC系列的arm的区别,他的亮点在哪里。
请参考今天的演讲内容了解性价比优势。
107系列的以太网接口支持DMA功能。
支持三种省电模式:睡眠、深度睡眠和待机模式
EXMC的操作方式同ST?因为主频的提高和FLASH零等待是否相应提高TFT驱动速度?
操作相同,可以提高驱动速度和刷新率
FLASH内部总线位宽多少?
全速运行下的功耗比市场同类产品低
GD 计划出M4吗? 个人比较看好M4
GD 主要应用领域有哪些?
工业类、消费类和汽车电子领域
GD32 M3系列的MCU有中文版的数据手册吗?或者是书本教材吗?
GD32 MCU的温度参数范围是多少?
GD32 MCU是否支持使用jlink仿真调试?还是有专门的仿真调试工具?
GD32 MCU性价比不错,刚刚在官网看介绍,我觉得它是作为智能化系统的不错选择,人机界面,网络通讯等等
GD32 的看门狗复位时间最多为多久?
GD32 的片内外设接口是复用的还是相互独立的?
大部分是独立的,也可以复用
GD32 低功耗模式下的功耗是多少?最高运行速度下的功耗是多少?
GD32 跟STm32 103配置差不多的情况下 价格 有没有差异
GD32 开发有没有自己的固件库开发?
GD32 可以使用那种调试器? JLink支持吗?
GD32 是不是也有像STM一样的加密问题? STM32的唯一ID跟STC一样,也是可以改的啊?GD32在这方面有没有变化?
GD32提供了唯一ID和加密存储双重安全保障
GD32 在价格上相对STM32有优势吗?
请参考今天演讲的内容了解性价比优势。
GD32 支持汽车等恶劣环境应用吗?
GD32 最低电压是多少?
GD32F150和130完全可以代替8位和16位单片机了,价格很有优势
目前可以提供工程样片并于今年第二季度正式量产,
GD32F的,用你们自己做的板,做过EMC测试吗?能过多高的脉冲群?
GD32MCU的大容量FLASH是按多大块划分的(不是PAGE),想利用大容量做代码冗余
gd32mcu的资料更新太慢了,可以留下技术支持联系方式吗
GD32程序的兼容性怎样,比如我要把STM32的程序在GD32上使用
GD32的96位ID是生产时加工的,还是封装后编程的?
GD32的96位ID是硬件掩模的还是flash的?可以被修改吗?
共享SRAM空间因此不能同时共用
GD32的DMA最多几个通道?共有几个控制器?
GD32的Flash速度是否比ST的同档芯片快点?
速度快,代码执行效率高
GD32的FLSH零等待具体是如何实现的?
自主知识产权的专利技术
GD32的产地是哪里?
GD32的功耗水平如何?是否适合低功耗产品?
低功耗,需要了解您的具体功耗需求
GD32的开发工具目前都有哪些了?STM32的代码是否可以直接运行在GD32上了?
现有的开发工具和代码都可以兼容使用
GD32的抗干扰能力如何?
高抗干扰能力,请参见具体型号的datasheet
GD32的抗干扰性能有测试参数吗?
高抗干扰能力,请参见具体型号的datasheet
GD32的时钟稳定性如何?
GD32都是什么封装的?
GD32都有哪些外设?
请参考今天演讲的内容了解产品特性
GD32对以太网支持如何
GD32可以抗5KV的静电——我可以认为,在消费类电子产品上使用GD32,我不需要做额外的抗静电措施了吗?
MCU本身已经具备高抗静电能力,但板级也要做抗静电处理保证安全运行
外部总线接口EXMC可支持LCD
GD32相应型号有静态存储控制器吗?
外部总线接口EXMC可支持LCD
GD32有没有M4内核的产品?
GD32有芯片的唯一序列号吗?
GD32有支持数字相机接口DCMI的计划吗?
GD32有中文资料吗?在哪里可以下载到?
GD32最小的封装是多少脚的?
GD有几路CAN 最近在用
最多支持双路CAN接口
GD有没有电机库的开发资料,和STM32的电机开发库通用吗
M3现在普遍使用的是进口品牌的,国产的相对有那些优势呢?
请参考今天演讲的内容了解性价比优势。
RTC是如何读出的?是通过函数调用还是读取内部寄存器?谢谢!
SPI 最高速度多少?
SPI工作时钟最高多少?
STM32 IIC在使用时经常出现传输失败或陷入死循环,官方勘误手册也表示其硬件IIC时序不能被中断,这造成了极大不便,GD32是否做了改进?
本地化技术支持服务?有中文的文档吗?
触摸感测接口TSI是采用什么方式采集的?是电容吗?
支持18个外部电极采集信号
触摸感测界面(TSI)可实现那些功能? 例如: 按钮, 滑条, 转轮, 多点触控....
按钮, 滑条, 转轮, 多点触控等功能都可以实现
电压倒是多少V?怎么有说3.6V又说5V
该产品可支持几路DA AD
请问GD32的硬件SPI的速度最大能到多少?

个人觉得对CM3架构归纳的非常不错,因此转载

在我看来,Cotex-M3内核的主要包括:嵌套向量中断控制器(NVIC),取值单元,指令译码器,算数逻辑单元(ALU),寄存器组,存储器映射(4GB统一编址各区域功能的划分与界定),对于开发者而言,其实主要关注的主要分为三大块:

、寄存器组2、地址功能划分映射3、中断机制(NVIC)。

R0——R12(通用寄存器);

高寄存器组R8——R12

R13(堆栈指针寄存器);

、嵌套向量中断控制器(NVIC)的总结)。

字节对齐的,故最低两位永远是00;

R15(程序寄存器)指向当前程序执行的地址;

位,可分为三个寄存器分别进行访问,也可以PSR或xPSR的名字直接组合访问。

位,中断号小于等于该寄存器设置值的中断都不响应;

控制寄存器只能在特权级模式下改写,handler模式永远是特权级,且只允许使用主堆栈MSP

复位后,处理器进入特权级+线程模式下;

位处理器,其地址总线、数据总线都是32位的,故可在4G的地址范围上资源寻址。Cortex-m3内核把4G空间划定了基本的框架,定义不同的使用用途。

0x ----0x3FFF FFFF (512MB) 该区域为片上SRAM区,芯片制造商可在此布设RAM,可以将代码复制到此处运行,该区域也是可以执行指令code的;低1MB空间可位寻址,通过位带别名可扩展为32Mb的位寻址。

0x ----0x5FFF FFFF (512MB)该区域为"片上外设"区 ,主要为片上外设的相关寄存器,即特殊功能寄存器区,同理低1MB也可位寻址;该区域不可执行代码;

该系统区又分为两部分:

数据的大小端模式:CM-3既支持大端模式也支持小端模式,其中对于大端模式,ARM7中使用的是字不变大端模式,CM3中则为字节不变大端模式。虽说大小端模式都支持,但依然建议在绝大多数情况下使用小端模式,如果一些外设是大端模式,可以通过REV/REVH指令便可轻松完成端模式的转换。

、中断机制(NVIC)

既然称之为MCU而非MPU,那么就是以控制为主,控制的一个关键指标就是实时性,能够及时对变化的情况作出反应,而这主要是通过中断机制来完成的,可以说除却运算性能,cortex-M3内核的主要修为都体现在控制的实时性上——也即中断的即时响应机制。

CM3对中断是怎么定义的呢?

一个是CM3内核异常导致当前运行程序的中断,一个是外部事件引入导致的。

位,共256项,前16个是系统内的中断,除去保留位,系统中断共有16-5-1=10个,剩余240个外部中断IRQ,其中有三个的优先级是固定的:复位,NMI,硬fault,中断号分别为-3,-2,-1,中断号越小,优先级也就越高,其他优先级都是可编程的。此外,对于复位启动过程,M3内核的MCU与传统的单片机复位是不一样的,传统的单片机是直接从地址0处开始运行,然后再执行地址0处的跳转指令,跳转到设定的程序起始段;而CM3复位后首先是在地址零处0x0000 0000取出主堆栈MSP的初始值,(因为CM3的堆栈是向下生长型的,所以这个初始值一般设为RAM区的末地址+1,以保证堆栈足够大,再啰嗦下,比方说RAM区为0x——0x3FFF FFFF那么初始值就设置为0x4000 0000);然后通过复位中断号找到存放复位程序入口地址的地址单元(0x),地址单元(0x)存放着第一条指令执行的地址(0x)并赋给PC,PC就从这个地址里存放的指令依次执行。关于指令执行的地址需要严重关切:CM3运行在thumb状态,所以加载到PC中的值的最低位LSB必须置1,以区别ARM状态(ARM为偶数),所以若想指向0x0000 0100的地址值,中断向量表中存的复位程序入口地址应为0x,用0x表示0x,这里不要把存储数据的地址和PC的指向地址搞混,只有PC的执行地址LSB不能等于0,其他总线访问地址则没有此限制。(为了把问题解释清楚,啰嗦的我自己都受不了了)为什么要首先初始化堆栈MSP呢?因为在复位的过程中也可能发生中断,例如NMI,硬fault等。

捕获并响应中断,2现场保护,3中断程序入口,4返回。下面就根据这个脉络来总结cortexM3在提高中断响应速度方面所涉及的重要知识点(这个讲解顺序针对已具备一定的基础人员):

位来编程中断的优先级数,可实现256级优先级,其中这8位又分为两段,一段决定抢占优先级的级数,一个决定亚优先级的级数,其中规定抢占优先级不得少于3位(8级优先级),亚优先级最少不得少于1位,所以抢占优先级在M3中最多128级,在哪一位开始分组由NVIC中的寄存器中(应用程序中断及复位控制寄存器)的PRIGROUP来决定;但实际中,芯片制造商一般只使用最高几位,比如5位,高三位(7,6,5)编程抢占优先级,剩下的两个次高位(4,3)用来决定亚优先级,从第4位处作为亚优先级的分组,这里通过一个分组寄存器来决定从哪一位做亚优先级分组。

个寄存器:程序状态寄存器XPSR,程序计数器PC,返回地址寄存器LR(连接寄存器),R12,R0——R3,这些都是硬件自动完成的。如果当前正在使用堆栈,则压入相应的堆栈寄存器MSP/PSP值,当前在用PSP就压入PSP,反之则压入MSP,进入中断服务程序就将一直用MSP了;好了,请注意,提高中断的响应速度就在这些寄存器的入栈顺序上,我们知道,堆栈是建立在片上RAM中的,通过系统总线(system code)来操作(为什么要建立在RAM上,因为堆栈需要不停地做出栈、入栈等动作,需要不断改变存储的值,而flash或rom只在烧写的时候写入数据),指令是存放在flash中的即code区通过指令总线(code bus)来操作,所以在入栈的时候先压入xPSR的值,再压入PC的值,压入PC的值后,就可以通过指令总线,根据中断向量号取出中断服务函数的地址赋给PC新的指令地址,进行指令的预取,而堆栈仍然可以通过系统总线继续压入其他寄存器的值,与取指令操作并行不悖,互不干扰,加快了中断的响应速度。相关寄存器可查询权威手册。

个32位的寄存器值(32B),如果本身就是中断进程,当前代码正在使用堆栈,还要将堆栈的值再入栈,这样无疑加大了堆栈的存储压力,如果用穿堆栈,发生溢出,程序十有八九就跑飞了,是很危险的,所以在应用中,要尽量减小中断的嵌套深度。

之前的中断响应机制发生在高级中断打断低优先级中断完成响应之后,译者将其名曰:咬尾中断;下面的中断则发生在高优先级中断打断低优先级中断准备响应之时,当高优先级中断还没来的时候,低优先级中断已经把前期准备工作给做完了,这时候高优先级中断来了,那么此时高优先级中断会直接利用低优先级中断的前期工作成果,直接开始响应,进入服务中断服务程序,而之前的低级中断则被迫挂起,为别人做嫁衣了,没办法,内核就是这样规定的,译者将其译为"晚到(的高优先级)异常"我将其名为"后来居上"中断。

中断延迟时间:从检测到中断,到执行中断服务程序的第一条指令,其间所流逝的时间。

个周期(满足硬实时要求的确定性)。如果多级嵌套中断响应,算上咬尾中断省去的出入栈时间,每个中断可减少至6个周期。

最后再说说异常即fault,内核活动层面的东西,这个本应是需要大书特书的东西,尤其是在调试程序的时候找bug上,是体现一个人技能水平的很重要的方面,但是限于时间与研究深度,暂时不深究了,

就一句话吧:运行时出现的系统错误有时候不是编程上的语法错误,如果不了解内核架构和一些使用准则,是很难发现bug在哪里,这就需要追溯到底是程序运行到哪里出了问题,导致内核运行出现了错误,得益于CM3完备的调试架构,很多fault的产生都会被监测到,并记录在对应的寄存器中,按图索骥就知道问题出在哪里,是哪条指令导致的,借此针对性的自查、分析、修改。

  1. 解析 STM32 的启动过程 解析STM32的启动过程 当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择.如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main ...

我要回帖

更多关于 cortex m3内核 的文章

 

随机推荐