国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于納芯微實時控制MCU NS800RT5039的IAP固件升級指南(2)

米芯微電子 ? 來源:納芯微電子 ? 2026-02-06 09:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來源:納芯微電子

在上期《無需返廠!基于實時控制MCU NS800RT5039 的 IAP 固件升級指南(理論篇)》中,我們已經詳細拆解了 IAP 技術的核心原理、關鍵概念、方案設計邏輯以及實戰中常見問題的避坑要點。本篇將聚焦實操落地,以 MDK 開發環境為依托,展示如何基于 NS800RT5039, 從 0 開發一個簡單的 IAP 項目。

硬件準備和環境搭建

NSSinePad-NS800RT5039_V2.0開發板×1

f973038e-026b-11f1-90a1-92fbcf53809c.jpg

圖1 開發板

USB串口模塊:可使用 NSSinePad 板載USB串口

IAP上位機準備:UartAssist串口調試助手或自行開發

f9cbd04a-026b-11f1-90a1-92fbcf53809c.png

圖2 上位機界面

工程環境準備

安裝MDK

解壓《NS800RT5XXX-SDK-v1.4.0》開發包

導入安裝 SDK 目錄下的 "utilitiespackMDKNOVOSENSE.NS800RT5XXX.xxx.zip" pack 包

基于 SDK 模版工程新建兩個新的工程 App 和 Bootloader,配置好源文件路徑和頭文件路徑,還有sct文件路徑

fa2380c4-026b-11f1-90a1-92fbcf53809c.png

fa7e5954-026b-11f1-90a1-92fbcf53809c.png

圖3 新建MDK工程

方案設計總覽

通訊協議設計:使用 UART 接口,無特定數據包結構,傳輸固件原始數據。當 MCU 準備好接收數據時,上位機以分包的形式傳輸升級固件,包大小為 512 字節,包延時為 125 ms ,MCU每收到一包便將數據燒錄進 Flash

上位機:我們可以用串口調試助手作為上位機,使用自帶的二進制流傳輸功能進行固件的發送

Bootloader 啟動方式:將 Bootloader 固件燒寫在默認的 Flash 啟動地址,MCU 復位默認啟動 Bootloader

App 啟動方式:在 Bootloader 中判斷 App 的有效性,App 有效則軟件跳轉,App 無效或者 BootKey 按下則進入 Bootloader 升級程序

分區地址規劃:

App 工程和 Bootloader 工程編譯輸出的固件結構大致如下所示:

fad9c99c-026b-11f1-90a1-92fbcf53809c.jpg

圖4 bin固件結構

將它們的位置劃分在 Flash 的不同區域:

fb31fbf8-026b-11f1-90a1-92fbcf53809c.jpg

圖5 App 和 Bootloader 固件區域劃分

考慮 Ram 資源的使用:

Bootloader 是通過復位 MCU 的方式啟動,每次啟動都會再次進行堆棧的初始化操作

App 通過軟件跳轉的方式啟動,每次啟動也會再次進行堆棧初始化操作

當從 Bootloader 跳轉 App 時,因為方案中 App 與 Bootloader 沒有共享的 Ram 數據,Bootloader 所使用的 Ram 數據對于 App 是不重要的,App 可以在啟動時覆蓋掉 Ram 空間,同理 Bootloader 也是一樣的情況,因此 Bootloader 和 App 在對 Ram 利用率的角度上考慮,可以共用同一塊 Ram 空間,它們可以忽略 Ram 的資源競爭問題。

程序啟動時 Flash 空間和 Ram 空間的使用情況大致如下所示:

fb8d4170-026b-11f1-90a1-92fbcf53809c.jpg

圖6Flash 和 Ram 資源使用示意圖

IAP 升級程序通信流程

在 Bootloader 中通過 UART 接收來自上位機的 App 固件數據,核心邏輯如下圖所示:

fbe49614-026b-11f1-90a1-92fbcf53809c.jpg

圖7 UART數據接收程序流程圖

程序實現如下:

程序清單1 UART 升級主程序

struct
{
 uint8_trxDataBuf[IAP_UART_PACKETSIZE];
 intrxcnt;
} iap;


intuart_download(void)
{
 intres =0;
 uint32_tflash_address = IAP_APP_ADDR;
 printf("Prepare for downloading
");


 /* 接收狀態初始化 */
 IAP_readyUart();


 /* 等待第一個數據 */
 while(UART_getRxFifoStatus(IAP_UART) == UART_FIFO_RX0) { }
 uint32_ttick =SystemTimer_getTime();


 while(SystemTimer_getTime() - tick 0)
  {
    res =IAP_writeFlash(flash_address, iap.rxDataBuf, iap.rxcnt);
   if(res)returnres;
  }
 return0;
}

其中從 UART RXFIFO 讀取全部數據保存到數據緩沖區中,使用下方UART數據接收函數實現。

程序清單2 UART 接收數據

staticintIAP_receiveUartData(void)
{
 intrxcnt = (int)UART_getRxFifoStatus(IAP_UART);
 if(iap.rxcnt + rxcnt >512)
   return-1;
   
 if(UART_getStatus(IAP_UART) & (UART_STAT_OR | UART_STAT_NF | UART_STAT_FE | UART_STAT_PF))
   return-1;


 while(rxcnt--)
  {
    iap.rxDataBuf[iap.rxcnt]= UART_readChar(IAP_UART);
    iap.rxcnt++;
  }


 return0;
}

使用 sct 文件

配置 Bootloader 與 App 的分區

Bootloader 的 sct 文件

程序清單3 Bootloader 的 sct 配置

;*************************************************************
;*** Scatter-Loading Description File generated by uVision ***
;*************************************************************


LR_IROM1 0x08000000 0x00004000 {  ; load region size_region
 ER_IROM1 0x08000000 0x00004000 { ; load address = execution address
  *.o (RESET, +First)
  *(InRoot$$Sections)
  .ANY (+RO)
  .ANY (+XO)
 }


 RW_ITCM 0x00000000 0x00010000 { ; 64K ITCM -> code in sram
 *.o (.itcm)
 }


 RW_VT_DTCM 0x20000000 0x00000400 { ; 1K VT_DTCM -> Vector Table
  * (.vt_dtcm)
 }


 RW_DTCM 0x20000400 0x00010000 { ; 63K DTCM -> fast sram
  .ANY (.dtcm, +RW +ZI)
  startup_*.o(STACK)
  startup_*.o(HEAP)
 }


 RW_SRAM1 0x20100000 0x00020000 { ; sram with parity
  * (.sram1)
 }
 RW_SRAM2 0x20120000 0x00020000 { ; sram with ECC
  * (.sram2)
 }
 RW_SRAMB 0x400C7000 UNINIT 0x00001000 { ; sram with backup
  * (.bss.backupsram)
 }
}

App 的 sct 文件

程序清單4 App 的 sct 配置

LR_IROM10x080040000x0007C000 {  ; load region size_region
ER_IROM10x080040000x0007C000 { ; load address = execution address
  *.o(RESET, +First)
  *(InRoot$$Sections)
  .ANY(+RO)
  .ANY(+XO)
 }


RW_ITCM0x000000000x00010000 { ; 64KITCM-> codeinsram
  *.o(.itcm)
 }


RW_VT_DTCM0x200000000x00000400 { ; 1KVT_DTCM->VectorTable
  * (.vt_dtcm)
 }


RW_DTCM0x200004000x00010000 { ; 63KDTCM-> fast sram
  .ANY(.dtcm, +RW+ZI)
  startup_*.o(STACK)
  startup_*.o(HEAP)
 }


RW_SRAM10x201000000x00020000 { ; sramwithparity
  * (.sram1)
 }
RW_SRAM20x201200000x00020000 { ; sramwithECC
  * (.sram2)
 }
RW_SRAMB0x400C7000UNINIT0x00001000 { ; sramwithbackup
  * (.bss.backupsram)
 }
}

向量表重定向

在 NS800RT5039 的 SDK 中,向量表重定向的操作在 SystemInit 函數中執行。

Bootloader 的 SystemInit 函數

如下方代碼所示,line 9 處初始化VTOR寄存器地址。由于 Bootloader 固件處于 Flash 默認啟動地址,故使用默認文件即可:

程序清單5 Bootloader 的 SystemInit 配置

voidSystemInit (void) {
 /************************************** SCB register start **************************************/
  SCB_EnableICache();
  SCB_EnableDCache();
  SCB->CACR|= SCB_CACR_FORCEWT_Msk;
 /* Enable CP10/CP11 Full Access */
  SCB->CPACR |= ((3U <VTOR =0x08000000;


 /*************************************** SCB register end ***************************************/
 
 /************************************** system clock start **************************************/
  RCC->UNLOCK.WORDVAL =0x55AA6699;
 /* Enable MIRC2 & Check MIRC2 is ready */
  RCC->CR.BIT.MIRC2EN =1;
 while(!RCC->CR.BIT.MIRC2RDY) {;}
 /* Set MIRC2 as system clock */
  RCC->CFGR.BIT.SWSEL =0;
 /* Lock rcc register */
  RCC->UNLOCK.WORDVAL =0x55AA6698;
 /*************************************** system clock end ***************************************/
}

App 的 SystemInit 函數

App 固件的起始地址不是 MCU 默認啟動地址,需要修改向量表重定向的地址,如下方 line 9處:

程序清單6 App 的 SystemInit 配置

voidSystemInit (void){
 /************************************** SCB register start **************************************/
  SCB_EnableICache();
  SCB_EnableDCache();
  SCB->CACR|= SCB_CACR_FORCEWT_Msk;
 /* Enable CP10/CP11 Full Access */
  SCB->CPACR |= ((3U <VTOR =0x08004000;


 /*************************************** SCB register end ***************************************/


 /************************************** system clock start **************************************/
  RCC->UNLOCK.WORDVAL =0x55AA6699;
 /* Enable MIRC2 & Check MIRC2 is ready */
  RCC->CR.BIT.MIRC2EN =1;
 while(!RCC->CR.BIT.MIRC2RDY) {;}
 /* Set MIRC2 as system clock */
  RCC->CFGR.BIT.SWSEL =0;
 /* Lock rcc register */
  RCC->UNLOCK.WORDVAL =0x55AA6698;
 /*************************************** system clock end ***************************************/
}

從 Bootloader 跳轉至 App

跳轉是 IAP 技術的關鍵步驟,需要依據啟動標準流程進行操作,下方給出通過C語言實現的跳轉方法:

設置棧頂指針

設置主棧操作使用 cmsis_armclang_m.h 的函數,如程序清單6所示。

程序清單7 __set_MSP() 函數

__STATIC_FORCEINLINEvoid__set_MSP(uint32_t topOfMainStack)
{
 __ASMvolatile("MSR msp, %0": :"r"(topOfMainStack) : );
}

傳入的 topOfMainStack 參數為 App 區的中斷向量表的第一個元素的值,即主棧的指針值。

基于 __set_MSP() 封裝的通用跳轉函數

程序清單8 使用向量表地址進行跳轉

staticvoidjump_to(uint32_tVectorTableAddress)
{
 /* 關閉全局中斷 */
 Interrupt_disableGlobal();


 /* 使用靜態變量保存函數指針 */
 typedefvoid(* __IO jump_ft)(void);
 staticjump_ft jump;
  jump = (jump_ft)(*(uint32_t*)(VectorTableAddress +4));


 /* 數據同步屏障 */
  __DSB();


 /* 手動加載棧頂地址 */
  __set_MSP(*(__Iuint32_t*)VectorTableAddress);


 /* 數據同步屏障 */
  __DSB();


 /* 跳轉 VectorTable->Reset_Handle */
 jump();
}

封裝 IAP 層的跳轉函數

程序清單9 跳轉到 App

staticvoidIAP_jumpApp(void)
{
 printf("Jump to App.
");
 /* 反初始化 */
 IAP_deinit();


 /* 跳轉 */
 jump_to(IAP_APP_ADDR);
}

Flash 的擦除與寫入

升級過程中需將接收到的 APP 固件寫入 EFlash,需實現擦除、寫入兩個核心接口:

Flash 的擦除

擦除操作代碼如程序清單10所示,該函數通過調用 SDK API 擦除Flash,從 App 起始地址開始頁擦,連續擦除指定數量的頁面。

程序清單10 Flash 擦除操作

staticintIAP_eraseFlash_AppRegion(void)
{
 uint8_tret;


 SCB_DisableDCache();
 SCB_DisableICache();


 for(inti =0; i < IAP_APP_PAGENUMS; i++)
? ? {
? ? ? ? ret =?FLASH_erasePage(IAP_APP_ADDR + FLASH_PAGESIZE * i);
? ? ? ??if?(ret ==?0)
? ? ? ? ? ??break;
? ? }


? ??SCB_EnableDCache();
? ??SCB_EnableICache();
? ??return?ret -?1;
}

Flash 的寫入

對 NS800RT5039 的 Flash 執行寫入操作時,其地址需要滿足以 8 bytes 邊界對齊,并且寫入數量需要滿足 8 的倍數,SDK 僅提供基礎接口,寫入地址和寫入數量需要滿足上述要求,為了方便 IAP 層操作 Flash 需要封裝拓展功能,使其能夠支持寫入任意長度的數據。

程序清單11 Flash 寫入操作

staticintIAP_writeFlash(uint32_taddr,constuint8_t*pBuf,uint32_tcnt)
{
 SCB_DisableDCache();
 SCB_DisableICache();


  __IOuint8_tflashBuf[8];
 uint8_t*pBufTmp = (uint8_t*)pBuf;
 uint32_twrite_len = cnt & ~(0x7U);
 intret =0;
 if(write_len >0)
  {
   if(1==FLASH_writeBytes(addr, pBufTmp, write_len))
    {
      pBufTmp += write_len;
      addr += write_len;
    }
   else
      ret =-3;
  }


 if(ret ==0)
  {
   uint32_talign = cnt &0x7U;
   if(align >0)
    {
     for(uint32_ti =0; i < align; i++)
? ? ? ? ? ? ? ? flashBuf[i] = pBufTmp[i];


? ? ? ? ? ??for?(uint32_t?i = align; i 

App 程序中的中斷向量初始化

在 App 工程中,我們通過 STIM1 的中斷觸發翻轉 LED1 和 LED2,以此來演示 App 的程序和中斷的正常運行。

下面是通過調用 SDK API 初始化中斷服務的代碼:

程序清單12 App 中斷初始化

intmain(void)
{
 /*  ...  */
 Interrupt_initModule();
 Interrupt_initVectorTable();
 Interrupt_register(STIM1_IRQn,STIM1_IRQHandler);
 Interrupt_enable(STIM1_IRQn);
 /*  ...  */
}

如上圖所示,在當前版本的 SDK 的 Interrupt_initVectorTable 函數中,該函數將向量表復制到 DTCM 區域,并重定向,以此來提高中斷響應速度:

程序清單13 SDK API 中斷向量表初始化

voidInterrupt_initVectorTable(void)
{
 uint32_tn;
 uint32_t*vector_table_flash = (uint32_t*)VECTOR_TABLE_FLASH_ADDRESS;


 for(n =0; n < NVIC_USER_IRQ_OFFSET; n++) {
? ? ? ? vectorTableDTCM[n] = vector_table_flash[n];
? ? }


? ? SCB->VTOR = (uint32_t)vectorTableDTCM;
  __ISB();


 for(n = NVIC_USER_IRQ_OFFSET; n < VECTOR_SIZE; n++)
? ? {
? ? ? ? vectorTableDTCM[n] = (uint32_t)&Interrupt_defaultHandler;
? ? }
}

VECTOR_TABLE_FLASH_ADDRESS 是定義在 interrupt.h 的常量宏:

需要將 interrupt.c 和 interrupt.h 創建副本并將下方宏改為 App 向量表地址 0x08004000,在工程中使用副本的 interrupt.c 和 interrupt.h 替代驅動庫(不建議直接改驅動庫)。

#define VECTOR_TABLE_FLASH_ADDRESS  0x08004000UL  // Starting address of the interrupt vector table in FLASH

配置 MDK 輸出 bin 文件

按下圖操作,配置 MDK,輸入指令 "fromelf --bin --output=$L@L.bin !L" :

fc3c3860-026b-11f1-90a1-92fbcf53809c.png

圖8 MDK 配置生成 bin 文件

編譯后自動輸出 bin 文件到 output 文件夾。

IAP 升級完整流程

編譯好 Bootloader 工程和 App 工程

點擊 MDK 上方選項卡 Flash -> Erase,擦除全部 Flash,確保 Flash 無數據

下載 Bootloader 固件

連接 PC 與板載串口,打開串口調試助手,并選擇文件傳輸模式,瀏覽 App.bin 文件準備傳輸

fca2023a-026b-11f1-90a1-92fbcf53809c.png

圖9 串口調試助手使用方法

復位開發板,MCU 發出串口信息,看到升級程序處于準備狀態

fcfd557c-026b-11f1-90a1-92fbcf53809c.png

圖10 MCU 串口打印“準備中”

按下發送按鈕,串口助手開始傳輸

fd563b74-026b-11f1-90a1-92fbcf53809c.png

圖11串口調試助手發送固件

傳輸結束,自動跳轉至 App 中,可以看到中斷翻轉LED正常,串口打印信息

fdad71be-026b-11f1-90a1-92fbcf53809c.png

圖12MCU 串口打印“運行App”

fe068fce-026b-11f1-90a1-92fbcf53809c.gif

圖13 App 運行效果

結論與建議

本文基于 NS800RT5039 的 IAP 方案,通過 “分區 + 通信 + 跳轉 + 存儲” 四大模塊,實現了設備現場固件升級,無需返廠依賴燒錄工具。方案代碼可直接復用,避坑要點覆蓋多數實戰問題,適用于工業控制消費電子等場景,能大幅降低升級成本、提升設備維護效率。

如需獲取《NS800RT系列IAP實現原理及參考樣例》應用筆記,請聯系sales@novosns.com。更多產品信息、技術資料敬請訪問www.novosns.com。

納芯微電子(簡稱納芯微,科創板股票代碼:688052;香港聯交所股票代碼:02676.HK)是高性能高可靠性模擬及混合信號芯片公司。自2013年成立以來,公司聚焦傳感器、信號鏈、電源管理三大方向,為汽車、工業、信息通訊及消費電子等領域提供豐富的半導體產品及解決方案。

納芯微以『“感知”“驅動”未來,共建綠色、智能、互聯互通的“芯”世界』為使命,致力于為數字世界和現實世界的連接提供芯片級解決方案。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18924

    瀏覽量

    398004
  • 固件升級
    +關注

    關注

    0

    文章

    38

    瀏覽量

    12456
  • 開發板
    +關注

    關注

    26

    文章

    6289

    瀏覽量

    118043
  • IAP
    IAP
    +關注

    關注

    2

    文章

    169

    瀏覽量

    26056

原文標題:IAP 固件升級實戰篇 | 基于 MDK 的實戰演練:從 0 開始的 IAP 項目開發

文章出處:【微信號:米芯微電子,微信公眾號:米芯微電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于實時控制MCU NS800RT5039IAP固件升級指南(1)

    設備固件升級需拆回原廠、依賴 J-LINK 等仿真器燒錄?這一痛點可通過 IAP(In-Application Programming)升級方案徹底解決。
    的頭像 發表于 02-06 09:13 ?7310次閱讀
    基于<b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b> <b class='flag-5'>NS800RT5039</b>的<b class='flag-5'>IAP</b><b class='flag-5'>固件</b><b class='flag-5'>升級</b><b class='flag-5'>指南</b>(1)

    聯合弦推出NS800RT系列實時控制MCU

    11月20日,宣布聯合弦半導體(ChipSine),推出NS800RT系列實時
    發表于 11-21 18:11 ?1171次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>聯合<b class='flag-5'>芯</b>弦推出<b class='flag-5'>NS800RT</b>系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    NSSine?超高性價比新品:NS800RT113x實時控制MCU,開啟“M7平權”新時代

    隨著行業對算力與實時性的要求不斷提升,傳統 MCU 平臺在運算能力、存儲速度與外設性能方面逐漸顯現瓶頸。為解決這一挑戰,推出 ?
    的頭像 發表于 09-12 16:50 ?5w次閱讀
    NSSine?超高性價比新品:<b class='flag-5'>NS800RT</b>113x<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>,開啟“M7平權”新時代

    海通用 MCU 應用筆記 :CS32F103 系列 MCU IAP 升級指南

    本應用筆記旨在幫助指導用戶針對海 CORTEX-M3 MCU CS32F103 系列單片機 IAP 應用的快速開發。本應用筆記實現了 CAN 和 USART 兩種接口方式來開發 IAP
    發表于 05-16 11:40

    AT32 MCU如何使用IAP通過USART實現對固件的在線升級更新

    AT32 MCU如何使用IAP通過USART實現對固件的在線升級更新
    的頭像 發表于 09-19 16:51 ?4043次閱讀
    AT32 <b class='flag-5'>MCU</b>如何使用<b class='flag-5'>IAP</b>通過USART實現對<b class='flag-5'>固件</b>的在線<b class='flag-5'>升級</b>更新

    攜手弦發布NS800RT系列實時控制MCU

    今日宣布聯合弦半導體(ChipSine),推出NS800RT系列實時
    的頭像 發表于 11-21 11:50 ?1321次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>攜手<b class='flag-5'>芯</b>弦發布<b class='flag-5'>NS800RT</b>系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    MCU新玩家:推出NS800RT系列實時控制MCU

    宣布聯合弦半導體(ChipSine),推出NS800RT系列實時
    的頭像 發表于 11-21 15:05 ?2489次閱讀
    <b class='flag-5'>MCU</b>新玩家:<b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>推出<b class='flag-5'>NS800RT</b>系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    NS800RT系列MCU實時控制領域的全新標桿

    聯合弦半導體推出了全新NS800RT系列實時控制
    的頭像 發表于 03-04 16:34 ?1458次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>NS800RT</b>系列<b class='flag-5'>MCU</b>:<b class='flag-5'>實時</b><b class='flag-5'>控制</b>領域的全新標桿

    NS800RT5039、NS800RT5049和NS800RT3025實時控制MCU工規版正式量產 供應鏈全國產

    早前在2024年11月發布的 NSSine系列實時控制MCU ,經過廣泛驗證和嚴格測試,目前已有三款工規版本產品 順利進入 量產階段 ,分別為:NS800RT5039、
    的頭像 發表于 05-08 09:27 ?1880次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>NS800RT5039</b>、<b class='flag-5'>NS800RT</b>5049和<b class='flag-5'>NS800RT</b>3025<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>工規版正式量產  供應鏈全國產

    供應鏈全國產!NSSine?系列實時控制MCU(DSP)工規版正式量產

    2024年11月正式發布的 NSSine?系列實時控制MCU(DSP) ,經過廣泛驗證和嚴格測試,目前已有三款工規版本產品 順利進入量產階段 ,分別為:NS800RT5039、
    的頭像 發表于 06-23 09:13 ?1021次閱讀
    供應鏈全國產!<b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>NSSine?系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>(DSP)工規版正式量產

    推出NS800RT737x系列高性能實時控制MCU

    實時性要求極高的電力電子與電力拖動領域,如新能源逆變器、工業伺服控制及車載電機驅動中,系統必須在毫秒甚至微秒級完成數據處理與響應。
    的頭像 發表于 08-22 11:28 ?1836次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>推出<b class='flag-5'>NS800RT</b>737x系列高性能<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    推出全新NS800RT7P65S/D系列實時控制MCU

    再度擴充NSSine 實時控制MCU/DSP產品矩陣,推出全新
    的頭像 發表于 09-03 14:28 ?3937次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>推出全新<b class='flag-5'>NS800RT</b>7P65S/D系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>

    推出NS800RT115x系列高性價比MCU

    正式推出 NS800RT115x 系列高性價比 MCU,基于 Arm Cortex-M7 內核,主頻高達 200 MHz,搭載自研 m
    的頭像 發表于 10-23 17:30 ?1130次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>推出<b class='flag-5'>NS800RT</b>115x系列高性價比<b class='flag-5'>MCU</b>

    NSSine系列實時控制MCU/DSP再添新成員

    在工業和能源領域,效率和控制精密度是核心訴求。NSSine系列實時控制
    的頭像 發表于 11-05 09:14 ?2111次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>NSSine系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>/DSP再添新成員

    NSSine系列實時控制MCU/DSP助力數字電源與電機開發

    近日,在2026 RT-Thread 20周年慶典暨開發者大會上,市場總監宋昆鵬帶來了一場聚焦于高實時
    的頭像 發表于 02-02 09:51 ?1357次閱讀
    <b class='flag-5'>納</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>NSSine系列<b class='flag-5'>實時</b><b class='flag-5'>控制</b><b class='flag-5'>MCU</b>/DSP助力數字電源與電機開發