打印

通用Cortex-M3市场介绍,后续会有进一步更新内容,期待

[复制链接]
1924|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhusu_jun|  楼主 | 2014-9-16 17:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhusu_jun 于 2014-9-16 17:36 编辑

        由于本人长期以来一直从事MCU的推广、技术支持和销售工作,先后经历过NXP的ARM7的鼎盛,到ST的STM32的风靡全国,在通用处理器领域,ARM大有一统天下之势,特别是近年来Cortex系列面世。各大半导体厂商纷纷参与其中,以便未来在通用处理器领域能够占有一席之地,NXP借助传统的ARM7市场,率先推出Cortex-M3,硬件兼容自身ARM7产品,实现自身的更新换代,TI为了补全ARM产品线,不惜收购Luminary,通过不停的改版,由于产品本身原因,最后不得不放弃该产品线,ST的处理器原先市场份额很小,不过最终通过Cortex-M3的市场策略,一举拿下Cortex-M3的江山,以致Freescale等厂家不得不转战Cortex-M4等市场,由上述可以看出,欧美半导体企业已经认可了ARM市场,同时默认了ST的Cortex-M3产品的价格体系竞争力。不过随着市场竞争的激烈,作为处理器厂家,内核统一来自于ARM公司,那么剩下的差异就在存储和外设功能,所谓处理器者,得存储器者得填下,芯片的价格最终和Flash、RAM的大小息息相关,例如近期出现的Spansion收购Fujitsu的MCU部门为典型代表,Spansion作为传统的存储器生产厂家,开始进入MCU市场,依托本身存储技术的积累,试图能够衍生出更具竞争力处理器,让我们大家拭目以待。
        上述讲了众多欧美厂商的信息,那我们国内的MCU生产厂家如何?是产品总要考虑性价比,笔者曾经成功的在国内的几大电力终端厂家中推进过NXP的Cortex-M3,NXP的Cortex-M3曾经辉煌一时,但是随着时间的推移,两年后反观原来的电力终端厂家,大部分已经改为ST的方案,可见成本在项目中起着非常大的作用,笔者也不得不转移到ST的MCU战场。在我的印象中,只有宏晶(STC)占有一席之地,另外就是一些台系的半导体厂家,在一些细分的家电、小工具等市场具有一定的占有比例。在32bit处理器中,国内也涌现出不少生产厂家,但是推广效果却很差。随着国家对集成电路产业的促进,以及欧美半导体的国内MCU份额逐年增加的情况下,国内急需一家能够敢于去竞争32bit处理器市场的公司,带领大家去32bit的市场进行探索。目前终于让我们看到了希望,在大家的期待中,GigaDevice作为传统的Flash设计生产厂家,开始聚焦通用MCU市场,同时在前期竞争策略上,颠覆之前众多国内厂家的自我推广模式,为了快速占据市场和扩大影响力,史无前例的在MCU市场上率先实现软硬件和ST的STM32F10X系列兼容,可见在前期投入中所下的功夫。兼容?可能会有人质疑,是不是抄袭?是不是山寨?事实证明,经过前面一年多的推广,不仅没有出现大家所担心的版权等问题,更是在市场上迅速的得到了认可,众多对成本要求更高的厂家,以及对性能要求更苛刻的厂家,选择和GigaDevice合作。
         本文下述内容主要就是针对GigaDevice的GD32F10X系列进行软硬件的讲解和分析,以便大家能够迅速的学习和使用国产的GD32产品。由于涉及内容主要是开发流程和常见问题,因此主要面向对象是Cortex-M3的初学者、准备步入嵌入式的学生和对GD32的感兴趣工程师,同时也可用于工程师参考使用。
沙发
sunmeat| | 2014-9-16 19:41 | 只看该作者
下文呢

使用特权

评论回复
板凳
11157038| | 2014-9-17 09:07 | 只看该作者
顶一下~~

使用特权

评论回复
地板
paulhe| | 2014-9-17 10:02 | 只看该作者
lz,我怎么觉得实在打广告呢。不过分析的还不错

使用特权

评论回复
5
zhusu_jun|  楼主 | 2014-9-22 14:59 | 只看该作者
小试身手--项目替代实例

       下面以GD32F103C8T6在微型打印机上面的替换过程做讲解,该过程为实际产品推广过程中的实际过程的总结,让大家直接和GD32F来个面对面的碰撞,你会发现原来坑是一样的,改动很小即可实现产品平台更新和老板要求的cost down!如此简单,为何不干?

        项目背景:客户原有产品使用STM32F103C8T6作为主平台,产品已经稳定出货,软硬件已经定型,此次通过给客户介绍GD32F的处理器产品,正好提到可以兼容STM32F103C8T6,于是工程师对软硬件兼容很怀疑,让我们提供样品并会安排人员进行相关测试,如果测试通过后会考虑替换现有平台,于是有了下面的一系列过程。
2014.8.25初次客户拜访,主要是介绍GD32F的产品和性能,希望客户在产品上能够试用,客户提出如果真能软硬件兼容,愿意进行相关测试;
2014.8.27 寄送样品,客户次日收到后下午安排研发人员进行测试,由于前面提到软硬家兼容,客户也是抱着很好奇的心态安排了下属进行测试,由于测试时已经临近下班,所以客户只用了半小时时间并反馈信息过来,说只有ADC不行,其他功能都没问题,屏蔽掉ADC代码后程序可以正常执行并打印,硬件没有任何改动,只是换了颗芯片,软件还按照原有的STM32的烧写过程进行,需要我们提供技术分析;
2014.9.4 我司技术人员去客户处查看了代码,并着重对比了ADC的差异,由于客户使用的是ST的驱动库,因此针对代码做了下述更改,程序可以正常执行,打印头温度检测正常,可以正常工作。

首先在ADC_Configuration配置函数中的使能ADC命令后面加上适当的延时,以确保ADC正常启动,具体代码如下。
/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);
for(i=0;i<150;i++);

另外,要设计到ADC的时钟问题,由于ADC的时钟来自APB2时钟的分频,ST库中默认设置APB2的时钟和系统时钟一致,RCC_GCFGR寄存器中有三位是对ADC时钟分频值得描述,该寄存器复位后的值为0,则表示时钟为CK_APB2/2,如果一般用户主频定在76MHz,则此时ADC时钟为38MHz,而ST和GD的ADC最高时钟都为14MHz,超出了正常的规定频率范围,但是ST在这种情况下可以运行,GD超出的范围不能那么高,实际测试可以选择4分频或者8分频都可以,具体操作如下。
RCC_ADCCLKConfig (RCC_PCLK2_Div4);             /* ADC时钟选择为PCLK2的四分频值 */
这样程序可以正常执行,但是厂家建议在使用外部高速晶振时候,能够将等待超时的时间延长,厂家解释是由于GD32的执行效率比较高,笔者认为由于24MHz之前STM32也是没有插入等待周期的,因此也是全速在跑,同时启动后默认使用的时钟为内部的高速时钟,那么影响只有可能在两方面,一为Cortex-M3第二版内核和第一版内核的效率差异;另外就是可能GD32为了保证对市面各种晶振的兼容,避免不起振现象,而做的万全之策,具体更改如下。
#define HSE_STARTUP_TIMEOUT ((uint16_t)0xFFFF)    /* 将等待HSE起振超时时间延长     */

使用特权

评论回复
6
zhusu_jun|  楼主 | 2014-9-22 15:00 | 只看该作者
sunmeat 发表于 2014-9-16 19:41
下文呢

来得有点慢,感谢支持

使用特权

评论回复
7
zhusu_jun|  楼主 | 2014-9-22 15:01 | 只看该作者
paulhe 发表于 2014-9-17 10:02
lz,我怎么觉得实在打广告呢。不过分析的还不错

毕竟内容都是涉及GD32产品的,难免有点偏向,不过一切以事实为依据,后续调整,感谢支持

使用特权

评论回复
8
jack888518| | 2014-9-22 17:39 | 只看该作者
楼主的实例很有借鉴意义.......
期待继续~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

粉丝