前言

链接

  • 李柱明博客
  • 移植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. Array.fill & String.padStart & String.padEnd

    Array.fill & String.padStart & String.padEnd Array.fill arr.fill(value[, start[, end]]) http ...

  2. javascript change array length methods

    javascript change array length methods Array 改变数组长度的方法 push, pop shift, unshift, splice, fill, 不改变数组 ...

  3. taro 渲染 html

    taro 渲染 html https://taro-docs.jd.com/taro/next/docs/next/html.html // Taro 更推荐使用框架自带的渲染 HTML 方式 // ...

  4. 图解 git 流程

    图解 git 流程 Github 开源项目 1 动画 2 web repl 3 online git cli & create remote branch # Create a new bra ...

  5. c++ DWORD和uintptr_t

    x86模式 DWORD 是4字节 x86模式 uintptr_t 是4字节 x64模式 DWORD 是4字节 x64模式 uintptr_t 是8字节 std::cout << sizeo ...

  6. Flutter Android Toast Message(flutter访问Android Toast Message)

    原文 Android Toast通知可用于向用户发送快速消息,并在几秒钟后消失. 但是当涉及Flutter时,没有直接的方式来显示这些Toast消息.因此,我们需要找到一种替代方法来实现它.在这种情况 ...

  7. Python数据结构与算法_回文数(03)

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121输出: true 示例 2: 输入: -121输出: false解释: 从左向右读, ...

  8. windows(wsl)下的trino编译和升级注意事项

    最近在进行旧版本的prestosql和prestodb升级相关的操作,尝试自己编译了一下,这里记录一下过程和遇到问题的处理. 因为Trino不支持windows下的编译,如果使用windows最方便的 ...

  9. 鸿蒙的js开发部模式16:鸿蒙布局Grid网格布局的应用一

    鸿蒙入门指南,小白速来!从萌新到高手,怎样快速掌握鸿蒙开发?[课程入口]目录:1.Grid简介2.使用Grid布局实现的效果3.grid-row-gap和grid-colunm-gap属性4.< ...

  10. 自己写的一个抢票加速的Python小程序源码分享-----纯属娱乐

    最近这段时间频频看到微信群里发什么 抢票加速,智行.携程.飞猪.美团,对于我这能坐客车就不坐火车的人来说,无所谓靠谱不靠谱 突发奇想的整理了下整个抢票加速的逻辑,写了这个小程序,代码很low,拒绝批评 ...