0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用国民技术的N32替换STM32的操作流程

STM32嵌入式开发 来源:STM32嵌入式开发 作者:STM32嵌入式开发 2022-04-25 11:21 次阅读

前言

目前大形势影响,芯片价格日益上涨,采购周期变长,导致国产芯片替代进口芯片成为大趋势,该文章记录了使用国民技术的N32替换STM32的操作流程。

话不多说,上步骤。

一、工程配置

1.安装硬件库

硬件库为厂家提供的资料,如下图所示,双击安装,使得keil能够找到该芯片。

82505ce6-c446-11ec-bce3-dac502259ad0.png

2.更改J-Flash配置

由于Keil官方没有对该芯片的支持,所以J-Link下载时也无法找到该芯片,所以需要手动添加芯片。更改步骤官方提供有说明文档。

826062d0-c446-11ec-bce3-dac502259ad0.png

主要步骤是:

修改JLinkDevices配置文档

添加Nationstech的下载算法文件

添加Nationstech的JFlash 工程文件

添加解锁Nationstech芯片读保护L1 等级的应用程序

进行如上步骤后,启动J-Flash就能够扫描并连接到芯片,但是有可能keil链接的J-Flash和安装的J-Flash不是一个路径,所以将配置好的J-Flash文件替换keil下Keil5ARMSegger目录文件,就能够正常下载调试。

3.更改芯片

826d54ea-c446-11ec-bce3-dac502259ad0.png

4.添加驱动文件

将N32的底层驱动库拷贝到工程目录下,并将include路径添加进去。

827ab0ea-c446-11ec-bce3-dac502259ad0.png

828ba616-c446-11ec-bce3-dac502259ad0.png

5.更改全局变量

829a4176-c446-11ec-bce3-dac502259ad0.png

6.将启动文件和驱动文件替换为N32库文件

82a5ee40-c446-11ec-bce3-dac502259ad0.png

7.将所有的stm32l1xx替换为n32g45x

二、底层驱动函数接口对照表

更改代码,将STM32的驱动函数替换为N32的驱动函数,这部分比较繁琐,需要慢慢替换,下面是我整理的替换对照表。

82bde5d6-c446-11ec-bce3-dac502259ad0.png

82d6e93c-c446-11ec-bce3-dac502259ad0.png

82eb5c28-c446-11ec-bce3-dac502259ad0.png

三、踩坑记录

经过上面的替换,应该可以编译过去了,但是这指示开始,后面悲剧的踩坑大战才刚刚开始。

1.仿真卡死

程序仿真卡死,单步调试发现卡死在OSInit()函数里面,这个函数是OS的初始化函数,所以应该是OS配置的问题,排查下来发现是启动文件里面的OS启动项没有更改,更改如下:

82f76d9c-c446-11ec-bce3-dac502259ad0.png

2.DMA配置出错

程序能够进入到任务中后,调试发现无法进入到串口接收中断,但是示波器中有数据,而且中断都没有进入,应该是卡死在优先级高的中断中,排查发现,是DMA发送中断的配置有问题,导致一直卡死在DMA中断中。下面是DMA部分的配置。

8304fcb4-c446-11ec-bce3-dac502259ad0.png

8311bfee-c446-11ec-bce3-dac502259ad0.png

3.Flash配置

由于国民芯片和STM32芯片的FLASH划分有区别,所以FLASH的替换是比较费事的部分,先对比一下两个片子的区别:

STM32L151的flash部分:

832479ea-c446-11ec-bce3-dac502259ad0.png

N32G455芯片的flash部分:

8331e5c6-c446-11ec-bce3-dac502259ad0.png

可以看出STM32单独有EEPROM的划分,而N32是没有的,只有flash部分。所以要注意两点:

Flash空间的问题,STM32可用空间要比N32的空间大;

底层接口函数,STM32有操作EEPROM的函数,而N32没有,只能使用flash操作函数。

下面是flash部分的操作:

834548b4-c446-11ec-bce3-dac502259ad0.png

4.bootloader移植

由于本项目采用bootloader引导主程序的方式,因此要注意烧写空间的配置,配置点在下面位置:

8356fa64-c446-11ec-bce3-dac502259ad0.png

当单独调试其中的程序时,烧写程序需要将整个flash擦除,要不运行不正常。

5.OS初始化卡死

又遇到程序卡死问题,这次是主程序,而且主程序起始地址为0x8000000时单独运行良好,但是改成0x8007000用bootloader跳转过去就卡死,也是卡死在OS的初始化中。因为单独运行良好,所以排查起来困难些。最终定位是堆栈和堆的空间设置太大了,设置小了后就可以运行。更改该空间的位置如下:

8363fdd6-c446-11ec-bce3-dac502259ad0.png

而且问题还不是堆栈的空间不够用,是空间设置太大了。有点无语。

6.程序跳转后运行不正常

这是最后的问题,程序能够从bootloader跳转,但是运行不正常,咨询了厂家技术人员,技术人员反馈可以采用分散加载的方式进行排查,也就是让芯片直接在主程序烧录的位置启动,分散加载的教程网上比较多,主要需要设置烧录域和启动域地址,还有VTOR寄存器

配置如下所示:

8379a4ce-c446-11ec-bce3-dac502259ad0.png

需要编写*.ini文件更改VTOR,ini文件编写如下:

838639d2-c446-11ec-bce3-dac502259ad0.png

在keil中加载,使得软件启动后先配置单片机

8390a552-c446-11ec-bce3-dac502259ad0.png

配置好后可以实现分散加载,能够是程序在烧录位置启动,发现程序分散加载可以运行正常,但是bootloader跳转不正常,因此需要排查跳转部分的问题。最终定位STM32在主程序启动时不会重启向量表,而N32会重启向量表,在主程序启动位置更改如下:

83a6a50a-c446-11ec-bce3-dac502259ad0.png

跳转部分代码如下:

83b78492-c446-11ec-bce3-dac502259ad0.png

CSDN德玛西亚吴彦祖

原文链接:https://blog.csdn.net/zhang421412170/article/details/116779169

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    456

    文章

    50889

    浏览量

    424300
  • STM32
    +关注

    关注

    2270

    文章

    10904

    浏览量

    356397

原文标题:国产芯片N32替换STM32的步骤

文章出处:【微信号:c-stm32,微信公众号:STM32嵌入式开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    活动回顾丨国民技术N32 MCU新成员N32G430 亮相电机驱动与控制技术研讨会

    6月10日,由大比特主办的电机驱动与控制技术研讨会在深圳成功举办。国民技术受邀出席了此次研讨会。此次研讨会上,国民技术重点展示了业内32位性
    的头像 发表于 11-27 15:00 203次阅读
    活动回顾丨<b class='flag-5'>国民</b><b class='flag-5'>技术</b>携<b class='flag-5'>N32</b> MCU新成员<b class='flag-5'>N</b>32G430 亮相电机驱动与控制<b class='flag-5'>技术</b>研讨会

    N32 MCU新成员N32G430,创Arm Cortex-M4F业内性价比新标杆

    内核产品价格,创立32位MCU业内性价比新标杆!国民技术N32系列MCU自推出以来已量产12个系列共100余款产品,市场取得全面突破,呈现规模效应,已得到各行业标
    的头像 发表于 11-27 15:00 187次阅读
    <b class='flag-5'>N32</b> MCU新成员<b class='flag-5'>N</b>32G430,创Arm Cortex-M4F业内性价比新标杆

    国民技术N32 MCU产品荣获IEC/EN/UL 60730功能安全认证

    近日,国民技术宣布,其多个系列的N32 MCU产品成功通过全球领先的检验、鉴定、测试和认证机构SGS的严格审核,荣获IEC/EN/UL 60730功能安全测试认证,并获得了SGS颁发的相关认证证书。这一殊荣标志着
    的头像 发表于 11-12 16:40 632次阅读

    国民技术N32H47/8系列MCU连续获得三项行业奖

    近日,深具行业影响力的Aspencore 2024全球电子成就奖(WEAA)颁奖典礼在深圳隆重举行,国民技术面向工业及数字能源领域的高能微控制器N32H47/8系列MCU荣获“2024全球电子成就奖•年度微控制器/接口产品”。
    的头像 发表于 11-09 13:56 635次阅读
    <b class='flag-5'>国民</b><b class='flag-5'>技术</b><b class='flag-5'>N</b>32H47/8系列MCU连续获得三项行业奖

    国民技术亮相2024 Intel LOEM Summit

    近日,2024 Intel LOEM Summit在泰国曼谷隆重举行,国民技术股份有限公司(以下简称“国民技术”)作为Intel全球合作伙伴受邀参加本次峰会。
    的头像 发表于 11-08 16:38 835次阅读

    SGS授予国民技术IEC/EN/UL 60730功能安全认证证书

    近日,国际公认的测试、检验和认证机构SGS为国民技术股份有限公司(以下简称“国民技术”)颁发IEC/EN/UL 60730功能安全认证证书。获此证书,标志着
    的头像 发表于 10-29 14:47 573次阅读

    国民技术N32 MCU通过IEC/EN/UL 60730功能安全认证

    近期,国民技术多个系列的N32MCU产品先后通过了全球领先的检验、鉴定、测试和认证机构SGS的IEC/EN/UL60730功能安全测试认证,获得SGS颁发的IEC/EN/UL60730认证证书,助力
    的头像 发表于 10-25 08:07 473次阅读
    <b class='flag-5'>国民</b><b class='flag-5'>技术</b><b class='flag-5'>N32</b> MCU通过IEC/EN/UL 60730功能安全认证

    STM32 OLED多菜单操作

    stm32  oled多菜单操作
    发表于 10-09 11:01 2次下载

    GD32如何替换STM32

    GD32替换Stm32注意事项
    发表于 08-23 11:31 4次下载

    国民技术N32H4系列MCU赋能工业与数字能源新纪元

    近日,在深圳举办的2024全球MCU及嵌入式生态发展大会上,电子工程领域的权威媒体AspenCore汇聚了众多行业精英。国民技术副总经理钟新利受邀出席大会主峰会,并发表了题为“N32H4系列MCU高能助力工业与数字能源”的精彩演
    的头像 发表于 07-29 11:23 1116次阅读

    国民技术亮相2024慕尼黑上海电子展

    在近日于慕尼黑上海电子展上,国民技术以一场科技盛宴惊艳全场,隆重推出了其精心研发的多款高性能专用MCU产品,包括N32H482、N32H487、N
    的头像 发表于 07-10 14:26 879次阅读

    基于国民技术N32WB031的Mesh灯控解决方案

    联网应用场景。此外Mesh采用的信息加密技术保证了物联网传输信息的安全性。Mesh灯控解决方案采用国民技术新一代高性能、超低功耗的蓝牙5.1芯片N32WB031作
    的头像 发表于 05-24 08:25 1628次阅读
    基于<b class='flag-5'>国民</b><b class='flag-5'>技术</b><b class='flag-5'>N</b>32WB031的Mesh灯控解决方案

    国民技术N32G401荣获2024年度最佳MCU奖

    在近日于上海盛大闭幕的2024国际集成电路展览会暨研讨会(IIC Shanghai 2024)上,国民技术凭借其高性价比的通用MCU——N32G401,荣获了2024年度中国IC设计成就奖中的热门
    的头像 发表于 05-13 15:14 1474次阅读

    国民技术N32 MCU怎么选型 2024年版选型导读

    N32系列MCU是国民技术基于安全SoC技术平台架构,采用32位Arm Cortex-M处理器内核,创新打造的以高性能、高集成度、安全、低功耗、高可靠性为特色的MCU产品。产品内置嵌入
    的头像 发表于 04-01 17:22 1852次阅读
    <b class='flag-5'>国民</b><b class='flag-5'>技术</b><b class='flag-5'>N32</b> MCU怎么选型 2024年版选型导读

    2024年版国民技术N32 MCU选型导读

    N32系列MCU是国民技术基于安全SoC技术平台架构,采用32位ArmCortex-M处理器内核,创新打造的以高性能、高集成度、安全、低功耗、高可靠性为特色的MCU产品。产品内置嵌入式
    的头像 发表于 03-30 08:24 1471次阅读
    2024年版<b class='flag-5'>国民</b><b class='flag-5'>技术</b><b class='flag-5'>N32</b> MCU选型导读