前言

链接

  • 李柱明博客
  • 移植AT32库&FreeRTOS教程
    • 由于大部分国产MCU移植固件库、RTOS源码都是差不多的,所以本文不讲细节,如想熟悉移植的套路,就参考上面链接去移植自己手上的MCU。相信移植一次后就懂了,然后自己写一篇博文记录一下,可以理清移植思路,也可以分享给众多道友。
  • 下面主要列出国民技术移植要点。(基于ST工程

移植N32Gxxx系列要点

  1. 文件替换

    1. 启动文件:如:startup_n32g45x.s
    2. 系统文件:如:system_n32g45x.c
    3. 内核文件:如:core_cm4.h 等等。可以把国民技术官方提供的文件夹一键copy过去。
    4. 外设驱动库:如:n32g45x_xxx.c、n32g45x_xxx.h、misc.c、misc.h
    5. 中断回调函数专用文件:如:n32g45x_it.c、n32g45x_it.h
  2. 工程配置
    1. 修改芯片选择。(安装号芯片包
    2. 修改工程中全局宏。
    3. 更改烧录算法文件。
  3. 代码修改
    1. 修改主频。首次,建议和原工程主频保持一致。修改在系统文件 system_n32g45x.c 中修改即可。
    2. 时钟。这个要特别留意。所使用的国民32时钟树与移植的STM32型号时钟树是否一致,若不一致则修改对应code即可。
    3. 国民库中各种外设名称与ST库有不少差异(注意,是名称有差异,但是框架和实现原理都差不多),所以只需要修改对应正确的名称即可。(慢慢换吧,虽然多,都是可以使用一键一键替换。)。实在不行就参考例程来改。
    4. DMA 可能需要重新映射。
  4. 烧写环境搭建
    1. 安装芯片包才能在 MDK 上选择正确的芯片。
    2. 若MDK或jlink无法识别MCU型号导致无法烧写,可以参考以下操作:
      1. 下载由国民技术提供的 jlink 工具文件:jlink工具添加Nationstech芯片Vx.x.x。如:

      2. 文件夹内容解析:

        • Device:下载算法文件。
        • Samples:J-Flash 工程。
        • Nationstech-JLinkDevices.xml:需要添加的国民技术芯片型号文件。
        • JLinkNsUnlockTool V1.0.1.exe:解锁国民技术芯片读保护 L1 级别应用程序。
        • JLinkNsUnlockToolConfig.ini:解锁读保护应用程序所需的配置文件。
        • jlink工具添加Nationstech芯片流程_V1.0.pdf:官方教程(推荐)。
    3. 修改 JLinkDevices 配置文档。
      1. 找到 JLink 安装路径,打开 JLinkDevice 文档。(可使用notepad打开
      2. 把国民技术提供的 Nationstech-JLinkDevices.xml 文档里面 Nationstech 芯片配置内容复制到 JLink 安装路径下的 JLinkDevice 文档末尾。点击保存(按格式添加。)。
    4. 添加 Nationstech 的下载算法文件。
      1. jlink工具添加Nationstech芯片V*x.x.x/Devices路径下的 Nationstech 文件夹拷贝到 JLink 安装路径/Devices 文件夹下。
    5. 添加 Nationstech 的 JFlash 工程文件。
      1. jlink工具添加Nationstech芯片V*x.x.x/Samples/JFlash/ProjectFiles路径下的 Nationstech 文件夹拷贝到 JLink 安装路径/Samples/JFlash/ProjectFiles 文件夹下。
    6. 添加解锁 Nationstech 芯片读保护 L1 等级的应用程序。
      1. JLinkNsUnlockToolConfig.iniJLinkNsUnlockTool V1.0.1.exe拷贝到 JLink 安装路径下。

【MCU】国民N32固件库移植的更多相关文章

  1. stm32f4xx标准外设固件库

    STM32F4的相关资料:http://www.stmcu.org/document/list/index/category-523 一.标准固件库简介 本文下载的是STM32F4xx_DSP_Std ...

  2. STM32固件库3.5+uCOS2.86移植(转自暴走的工程师)

    考了很多移植的资料和代码,终于移植好了...应该是完美移植吧~~哈哈哈~~ 编译环境是IAR 工程适用于STM32F10X大容量产品,如果不是,请自行修改启动文件和工程配置 编译器优化等级最高...这 ...

  3. 在IAR(EWARM)中移植STM32固件库

    一.移植环境说明 (1).win10系统 (2).IAR(EWARM)7.7 (3).STM32标准固件库3.5.0 http://www.st.com/content/st_com/en/produ ...

  4. STM32 之 HAL库(固件库) _

    1 STM32的三种开发方式 通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的.一般大多数都会选用标准库和HAL库,而极少部分人会通过直 ...

  5. STM32 之 HAL库(固件库)

    1 STM32的三种开发方式 通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的.一般大多数都会选用标准库和HAL库,而极少部分人会通过直 ...

  6. 如何从ST网站找到对应的固件库

    ST官方网站改版后,基本上很难搜索到固件库的地址,找了半天才找到固件库的下载地址,通过此方法可以找到其他需要的资源,故记下来方便大家. 下载的网站地址为: Home>Tools and Soft ...

  7. 【STM32学习笔记1】基于固件库的STM32_MDK工程模版

    文章包含STM32固件库介绍和工程模板搭建两方面内容. 一.STM32固件库介绍 要建立工程模板,首先要对STM32的固件库有所了解.STM32的固件可以从ST官网下载,网址为:http://www. ...

  8. STM32固件库详解

    STM32固件库详解   emouse原创文章,转载请注明出处http://www.cnblogs.com/emouse/ 应部分网友要求,最新加入固件库以及开发环境使用入门视频教程,同时提供例程模板 ...

  9. 第9章 初识STM32固件库

    第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

随机推荐

  1. HTML <keygen> 标签(👎 已废弃)

    HTML 标签( 已废弃) 该标签在新的 Web 标准中已废弃. <!DOCTYPE html> <html> <head>  <meta charset=& ...

  2. TypeScript Errors All In One

    TypeScript Errors All In One 1. Property 'name' has no initializer and is not definitely assigned in ...

  3. involution 内卷化

    involution 内卷化 虽然不熟悉 involution,但是我想起另外两个常用词:evolution(进化)和 revolution(革命). 它们共同的词根volute,拉丁语原意是&quo ...

  4. iOS WebView All In One

    iOS WebView All In One WKWebView / UIWebView Swift Playground //: A UIKit based Playground for prese ...

  5. HEVC Advance & H.265 专利费

    HEVC Advance & H.265 专利费 https://www.hevcadvance.com/pdfnew/HEVC_Advance_Program_Overview_cn.pdf

  6. 以代码为剑、数学为犁,SPC构建NGK算力生态体系

    人类创造工具,工具反过来也改变着人类.以区块链为核心的货币革命率先吹响了对金融世界重塑的号角.以代码为剑.数学为犁,区块链构建了新的网路信任体系,这是一切的开始.基于此,NGK区块链技术将赋能实体产业 ...

  7. Renice INC:全球经济危机持续,2021年红酒市场走向如何?

    2021年,全球经济危机仍在持续,很多国家的经济出现了严重的下滑,不得不以降低利率维持经济.那么,全球经济危机对于红酒市场有什么影响?2021年,红酒市场走势如何呢?近日,美国知名红酒公司伦尼斯公司对 ...

  8. 基本ILS面的评估

    一.定义与用途 基本ILS面是ICAO DOC8168飞行程序设计规范中提到的一种限制面. 它相当于附件14中代码为3或4的精密进近跑道所规定的障碍物限制面的子集. 包含:进近面(分为两部分).过渡面 ...

  9. 【OI向】快速傅里叶变换(Fast Fourier Transform)

    [OI向]快速傅里叶变换(Fast Fourier Transform) FFT的作用 ​ 在学习一项算法之前,我们总该关心这个算法究竟是为了干什么. ​ (以下应用只针对OI) ​ 一句话:求多项式 ...

  10. python进阶(2)python最常用的模块

    math math.ceil(a): 用来返回≥a的最小整数 math.floor(a):用来返回≤a的最大整数 round(a [,b]) 如果没有参数b,只有a,round()作用是四舍五入 如果 ...