痞子衡嵌入式全部原創文章 - 彙總索引

--------------------------------------------------------------------------------------

職場經驗與見聞感悟

痞子衡在嵌入式行業也摸打滾爬了不少年,有一些個人經驗可以給大家參考。所謂他山之石可以攻玉,希望痞子衡的經驗對大家的職場之路有所幫助。

職場經驗篇(持續更新中...4/4)

職場上有效地向師傅請教問題的幾點建議
關於做技術的工作態度方面的幾點建議
工作多年的工程師且看這四條進階之路
讀工程師崗位工作31年退休的同事離職信有感

博文總結篇(持續更新中...8/8)

Farewell, 我的寫博故事2016-2019
Farewell, 我的寫博故事2020
博文總量終於追平了中文Kinetis博客第一人jicheng0622
博客園積分排名終於擠進了前3000名榜單
Farewell, 我的寫博故事2021
入選了2021年度與非網(eefocus)星選創作者Top10
Farewell, 我的寫博故事2022
拿到了CSDN博客專家實體證書

社區活動篇(持續更新中...3/3)

被邀請做貿澤電子&與非網聯合推出的《對話工程師》節目嘉賓
被邀請做科銳國際旗下數科同道主辦的技術沙龍嘉賓
被邀請做嵌入式聯盟主辦的職場奇葩說(上海站)辯手

NXP歲月篇(持續更新中...6/6)

當選了2019年度恩智浦官方論壇i.MXRT板塊的頂級貢獻者
關於恩智浦入駐B站的一些思考
三個小項目陸續上線恩智浦官方Github
爲2021 TencentOS Tiny AIoT應用創新大賽做了場直播培訓
在恩智浦度過職業生涯第一個十年
AppCodeHub - 一站網羅恩智浦MCU應用程序

--------------------------------------------------------------------------------------

嵌入式半月刊

從2020年2月份開始我將爲大家帶來《痞子衡嵌入式半月刊》,分享嵌入式領域有用有趣的工具或項目以及一些熱點新聞。

做這個半月刊主要是受硬漢哥的《安富萊嵌入式週報》 影響,硬漢哥每週都會整理這一週嵌入式領域發生的熱點新聞分享給大家,而我這個半月刊主要側重收集嵌入式領域有用的工具或項目。另外我也受削微寒女神的 《HelloGitHub》項目的影響,希望把這個嵌入式半月刊做成一個開源項目,集衆人之力。

《痞子衡嵌入式半月刊》項目地址是 pzh-mcu-bi-weekly,大家如果知道或者發現好的嵌入式工具或項目,歡迎給我提 issue。

2020庚子鼠年

第 001 期 | 第 002 期 | 第 003 期 | 第 004 期 | 第 005 期 | 第 006 期
第 007 期 | 第 008 期 | 第 009 期 | 第 010 期 | 第 011 期 | 第 012 期
第 013 期 | 第 014 期 | 第 015 期 | 第 016 期 | 第 017 期 | 第 018 期
第 019 期 | 第 020 期 | 第 021 期 | 第 022 期 | 第 023 期 | 第 024 期

2021辛丑牛年

第 025 期 | 第 026 期 | 第 027 期 | 第 028 期 | 第 029 期 | 第 030 期
第 031 期 | 第 032 期 | 第 033 期 | 第 034 期 | 第 035 期 | 第 036 期
第 037 期 | 第 038 期 | 第 039 期 | 第 040 期 | 第 041 期 | 第 042 期
第 043 期 | 第 044 期 | 第 045 期 | 第 046 期 | 第 047 期 | 第 048 期

2022壬寅虎年

第 049 期 | 第 050 期 | 第 051 期 | 第 052 期 | 第 053 期 | 第 054 期
第 055 期 | 第 056 期 | 第 057 期 | 第 058 期 | 第 059 期 | 第 060 期
第 061 期 | 第 062 期 | 第 063 期 | 第 064 期 | 第 065 期 | 第 066 期
第 067 期 | 第 068 期 | 第 069 期 | 第 070 期 | 第 071 期 | 第 072 期

2023癸卯兔年

第 073 期 | 第 074 期 | 第 075 期 | 第 076 期 | 第 077 期 | 第 078 期
第 079 期 | 第 080 期

--------------------------------------------------------------------------------------

嵌入式從業者應知應會知識點

嵌入式開發需要掌握的知識點非常多,不同的技術方向有不同的知識側重點,本系列試圖整理總結嵌入式開發(尤其是軟件)中那些必須要會的知識點,試圖給你呈現一幅嵌入式界的清明上河圖,本系列計劃連更十年,且讓時間給答案。

計算機原理篇(持續更新中...1/2)

不可不知的計算機原理知識(1)- 整數表示(原碼,反碼,補碼)
不可不知的計算機原理知識(2)- 浮點數表示

嵌入式碎片集(持續更新中...9/10)

嵌入式裏堆棧原理及其純C實現
ARM Cortex-M內核下字節對齊訪問問題
嵌入式裏通用微秒(microseconds)計時函數框架設計與實現
嵌入式裏串口(UART)自動波特率識別程序設計與實現(中斷)
嵌入式裏串口(UART)自動波特率識別程序設計與實現(輪詢)
嵌入式Cortex-M中標準的三重中斷控制設計
嵌入式Cortex-M裸機環境下臨界區保護的三種實現
嵌入式Cortex-M中斷向量表原理及其重定向方法
嵌入式Cortex-M中斷向量表對齊原則的深入研究
嵌入式Cortex-M系統中斷延遲及其測量方法簡介

代碼規範篇(持續更新中...4/4)

開源軟件協議(MIT/BSD/Apache/LGPL/MPL/GPL)
飛思卡爾半導體軟件開發C代碼規範
恩智浦SDK驅動代碼風格、模板、檢查工具
恩智浦SDK驅動代碼風格檢查工具預覽版

數據差錯控制篇(持續更新中...3/6)

常用的數據差錯控制技術(1)- 重複校驗(Repetition Code)
常用的數據差錯控制技術(2)- 奇偶校驗(Parity Check)
常用的數據差錯控制技術(3)- 和校驗(Checksum)
常用的數據差錯控制技術(4)- 循環冗餘校驗(CRC)
常用的數據差錯控制技術(5)- 漢明碼校驗(Hamming Code SEC-DED)
常用的數據差錯控制技術(6)- 博斯-喬赫裏-霍克文黑姆碼校驗(BCH Code)

Keil MDK知識篇(持續更新中...2/2)

一個奇怪的Keil MDK下變量鏈接強制對齊報錯問題(--legacyalign)
在MDK開發環境下將關鍵函數重定向到RAM中執行的幾種方法

IAR EWARM知識篇(持續更新中...12/12)

在IAR開發環境下爲工程開啓CRC完整性校驗功能的方法
探析開啓CRC完整性校驗的IAR工程生成.out和.bin文件先後順序
一次利用IAR自帶CRC完整性校驗功能的實踐(爲KBOOT加BCA)
在IAR開發環境下將關鍵函數重定向到RAM中執行的三種方法
在IAR開發環境下將整個源文件代碼重定向到任意RAM中的方法
在IAR開發環境下RT-Thread工程自定義函數段重定向失效分析
深扒IAR啓動函數流程及其__low_level_init設計對函數重定向的影響
深扒IAR啓動函數流程之段初始化函數__iar_data_init3實現
深扒IAR啓動函數流程之段初始化實現中可用的壓縮選項(zeros/packbits/lz77)
IAR內部C-SPY調試組件配套宏文件(.mac)用法介紹
淺析IAR下調試信息輸出機制之硬件UART外設
淺析IAR下調試信息輸出機制之半主機(Semihosting)

JLink工具知識篇(持續更新中...1/1)

JLink Script文件基礎及其在IAR下調用方法

存儲器冷知識篇(持續更新中...3/3)

國內外串行NOR Flash廠商官網Cross Reference功能使用體驗
存儲器大廠Micron的NOR Flash芯片特殊絲印設計(FBGA代碼)
主流QuadSPI NOR Flash廠商關於QE位與IO功能複用關聯設計

廠商盤點篇(持續更新中...3/3)

盤點國內Cortex-M內核MCU廠商高性能產品(2021版 - 主頻不低於96MHz)
盤點國內Cortex-M內核MCU廠商高主頻產品(2023版 - 主頻不低於144MHz)
盤點國內車規級MCU廠商(2020年及之前發佈產品)

--------------------------------------------------------------------------------------

恩智浦MCU開發環境與工具相關知識

恩智浦半導體的MCU產品線非常之廣,其配套軟件開發工具也非常強大,基本可以涵蓋項目開發全過程所需要的各種工具,利用好這些工具可以大大加速項目開發。

MCUXpresso SDK篇(持續更新中...1/1)

恩智浦MCUXpresso SDK在GitHub上線了

MCUXpresso IDE篇(持續更新中...13/13)

MCUXpresso IDE下SDK工程導入與workspace管理機制
MCUXpresso IDE下添加新路徑下源文件進工程編譯的方法
MCUXpresso IDE下添加C++源文件進SDK工程編譯的方法
MCUXpresso IDE下SDK工程在Build配置上與IAR,MDK差異
MCUXpresso IDE下工程鏈接文件配置管理與自動生成機制
MCUXpresso IDE下將應用程序RW段分散鏈接的幾種方法
MCUXpresso IDE下將關鍵函數重定向到RAM中執行的幾種方法
MCUXpresso IDE下高度靈活的FreeMarker鏈接文件模板機制
MCUXpresso IDE下將源碼製作成Lib庫方法及其與IAR,MDK差異
MCUXpresso IDE下設置代碼編譯優化等級的幾種方法
MCUXpresso IDE下生成鏡像文件的方法及其與IAR,MDK差異
MCUXpresso IDE下使用J-Link下載算法在Flash調試注意事項
MCUXpresso IDE下在線調試時使用不同復位策略的現象總結

MCUXpresso Config Tools篇(持續更新中...1/1)

MCUXpresso Config Tools初體驗(Pins, Clocks, Peripherals)

--------------------------------------------------------------------------------------

恩智浦MCX系列微控制器相關知識

恩智浦半導體於2022年11月發佈MCX系列MCU,分爲四大子系列N/A/W/L,可涵蓋任何終端設備,從消費者到工業以及介於兩者之間的一切。其中N系列首批產品:MCX N94x(主頻 150MHz 雙核 Cortex-M33,N1-16 系列 NPU,CoolFlux BSP32 型音頻處理單元)和MCX N54x,專爲簡化安全智能邊緣應用(包括物聯網和工業應用)打造。

  本系列文章會逐一介紹MCX系列微控制器開發相關知識。

芯聞篇(持續更新中...1/1)

低功耗&高性能邊緣人工智能應用的新答案 - MCXN947

調試篇(持續更新中...)

啓動篇(持續更新中...)

--------------------------------------------------------------------------------------

恩智浦i.MX RT三位數系列微控制器相關知識

恩智浦半導體於2018年10月發佈的i.MX RT三位數系列開啓了ML/AI MCU的新紀元,其第一款芯片i.MX RT685,搭載一顆主頻高達300MHz的Cortex-M33內核,以及一顆主頻高達600MHz的Cadence Tensilica HiFi4 DSP。主要面向實時機器學習(ML)/人工智能(AI)應用。

芯聞篇(持續更新中...1/1)

爲下一代智能可穿戴設備而生 - i.MXRT500

介紹篇(持續更新中...2/2)

恩智浦i.MX RTxxx系列MCU特性那些事(1)- 概覽
恩智浦i.MX RTxxx系列MCU特性那些事(2)- RT685SFVK性能實測(Dhrystone)

啓動篇(持續更新中...8/12)

恩智浦i.MX RTxxx系列MCU啓動那些事(1)- Boot簡介
恩智浦i.MX RTxxx系列MCU啓動那些事(2)- Boot配置(ISP Pin/OTP)
恩智浦i.MX RTxxx系列MCU啓動那些事(3)- Serial ISP模式(blhost)
恩智浦i.MX RTxxx系列MCU啓動那些事(4)- OTP及其燒寫方法
恩智浦i.MX RTxxx系列MCU啓動那些事(5)- Bootable image格式與加載(elftosb/.json)
恩智浦i.MX RTxxx系列MCU啓動那些事(6)- 從Serial(Multi-IO) NOR啓動
恩智浦i.MX RTxxx系列MCU啓動那些事(6.A)- FlexSPI NOR啓動時間(RT500)
恩智浦i.MX RTxxx系列MCU啓動那些事(6.B)- FlexSPI NOR連接方式大全(RT600)
恩智浦i.MX RTxxx系列MCU啓動那些事(6.B)- FlexSPI NOR連接方式大全(RT500)
恩智浦i.MX RTxxx系列MCU啓動那些事(7)- 從SD/eMMC啓動
恩智浦i.MX RTxxx系列MCU啓動那些事(8)- 從Serial(1-bit SPI) NOR恢復啓動
恩智浦i.MX RTxxx系列MCU啓動那些事(9)- 動態解密安全啓動需知(OTFAD)

經驗篇(持續更新中...12/12)

類別 文章
系統啓動 一種i.MXRT下從App中進入ROM串行下載模式的方法
快速定位i.MXRT600板級設計ISP[2:0]啓動模式引腳上電時序問題的方法
i.MXRT連接特殊Octal Flash時(OPI DTR模式下反轉字節序)下載與啓動注意事項(以MX25UM51245爲例)
瞭解i.MXRTxxx系列ROM中靈活的串行NOR Flash啓動硬復位引腳選擇
深扒i.MXRTxxx系列ROM中集成的串行NOR Flash啓動SW Reset功能及其應用場合
揭祕i.MXRTxxx系列上串行NOR Flash雙程序可交替啓動設計
片內存儲 對比i.MXRT與LPC在RTC外設GPREG寄存器使用上的異同
從功耗測試角度瞭解i.MXRTxxx系列片內SRAM分區電源控制
下載算法 輕鬆爲i.MXRT設計更新Segger J-Link Flash下載算法文件(i.MXRT600爲例)
在線升級 瞭解i.MXRTxxx系列ROM API及其與i.MXRT1xxx系列的差異
解鎖i.MXRTxxx上FlexSPI模塊自帶的地址重映射(Remap)功能
仿真調試 揭祕i.MXRT600的ISP模式下用J-Link連接後PC總是停在0x1c04a的原因(Debug Mailbox)
通用外設
外存擴展
性能分析
圖形顯示
安全可靠

項目篇(持續更新中...1/1)

RT-MFB - 一種靈活的i.MXRT下多串行NOR Flash型號選擇的量產方案

標準篇(持續更新中...1/1)

微處理器CPU性能測試基準(Dhrystone)

--------------------------------------------------------------------------------------

恩智浦i.MX RT四位數系列微控制器相關知識

恩智浦半導體於2017年10月發佈的i.MX RT四位數系列開啓了高性能MCU的新紀元,其第一款芯片i.MX RT1052,搭載Cortex-M7內核,主頻高達600MHz,CoreMark跑分高達3020。

資料篇(全1篇已完結)

史上最強i.MX RT學習資源彙總(持續更新中...)

芯聞篇(持續更新中...1/1)

終於可以放開聊一聊i.MXRT1170這顆劃時代MCU了

介紹篇(全4篇已完結)

恩智浦i.MX RT1xxx系列MCU特性那些事(1)- 概覽
恩智浦i.MX RT1xxx系列MCU特性那些事(2)- RT1052DVL6性能實測(CoreMark)
恩智浦i.MX RT1xxx系列MCU特性那些事(3)- 命名規則
恩智浦i.MX RT1xxx系列MCU特性那些事(4)- RT105x選型

硬件篇(持續更新中...7/7)

恩智浦i.MX RT1xxx系列MCU硬件那些事(1)- 官方EVK簡介
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.1)- 玩轉板載OpenSDA,Freelink調試器
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.2)- 在串行NOR Flash XIP調試原理
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下載算法(J-Link工具篇)
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.4)- 串行NOR Flash下載算法(Keil MDK篇)
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.5)- 串行NOR Flash下載算法(IAR EWARM篇)
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.6)- 串行NOR Flash下載算法(MCUXpresso IDE篇)

工具篇(持續更新中...21/21)

恩智浦SDK代碼風格檢查工具MCUXpresso-SDK-CodingStyleChecker
恩智浦MCU安全加密啓動一站式工具NXP-MCUBootUtility用戶指南
恩智浦MCU安全加密啓動一站式工具NXP-MCUBootUtility常見問題
開啓NXP-MCUBootUtility工具的HAB簽名功能 - CST(中英雙語)
開啓NXP-MCUBootUtility工具的HAB加密功能 - CST(中英雙語)
開啓NXP-MCUBootUtility工具的BEE加密功能 - image_enc
恩智浦i.MX RT系列MCU量產神器NXP-MCUBootFlasher用戶指南
恩智浦i.MX RT系列MCU量產神器NXP-MCUBootFlasher常見問題

如果i.MX RT是一匹悍馬,征服它時別忘了用馬鐙MCUBootUtility
MCUBootUtility v2.0.0來襲,i.MXRT1010哪裏跑
MCUBootUtility v2.3.0發佈,這次不再放過任何一款Flash
MCUBootUtility v2.3.1發佈,解決了長久以來非空flash可能無法下載的問題
MCUBootUtility v2.4.0發佈,輕鬆更換Flashloader文件
MCUBootUtility v3.0.0發佈,開始支持LPC, Kinetis啦
MCUBootUtility v3.3.0發佈,可配合SBL項目使用
MCUBootUtility v3.4.0發佈,支持串行NAND
MCUBootUtility v3.5.0發佈,支持串行NOR的ECC及雙程序啓動
MCUBootUtility v4.0.0發佈,開始支持MCX啦
MCUBootUtility v5.0.0發佈,初步支持i.MXRT1180

如果你正在量產i.MX RT產品,不妨試試這款神器RT-Flash
MCUBootFlasher v3.0.0發佈,爲真實的產線操作場景而生

啓動篇(持續更新中...19/25)

恩智浦i.MX RT1xxx系列MCU啓動那些事(1)- Boot簡介
恩智浦i.MX RT1xxx系列MCU啓動那些事(2)- Boot配置(BOOT Pin/eFUSE)
恩智浦i.MX RT1xxx系列MCU啓動那些事(3)- Serial Downloader模式(sdphost/MfgTool)
恩智浦i.MX RT1xxx系列MCU啓動那些事(4)- Flashloader初體驗(blhost)
恩智浦i.MX RT1xxx系列MCU啓動那些事(5)- 再聊eFUSE及其燒寫方法
恩智浦i.MX RT1xxx系列MCU啓動那些事(6)- Bootable image格式與加載(elftosb/.bd)
恩智浦i.MX RT1xxx系列MCU啓動那些事(7)- 靜態解密安全啓動需知(HAB)
恩智浦i.MX RT1xxx系列MCU啓動那些事(8)- 從Raw NAND啓動
恩智浦i.MX RT1xxx系列MCU啓動那些事(8.A)- SEMC NAND啓動時間(RT1170)
恩智浦i.MX RT1xxx系列MCU啓動那些事(9)- 從Parallel NOR啓動
恩智浦i.MX RT1xxx系列MCU啓動那些事(10)- 從Serial NAND啓動
恩智浦i.MX RT1xxx系列MCU啓動那些事(10.A)- FlexSPI NAND啓動時間(RT1170)
恩智浦i.MX RT1xxx系列MCU啓動那些事(11)- 從Serial NOR啓動
恩智浦i.MX RT1xxx系列MCU啓動那些事(11.A)- FlexSPI NOR啓動時間(RT1170)
恩智浦i.MX RT1xxx系列MCU啓動那些事(11.B)- FlexSPI NOR連接方式大全(RT1015/1020/1050)
恩智浦i.MX RT1xxx系列MCU啓動那些事(11.B)- FlexSPI NOR連接方式大全(RT1060/1064(SIP))
恩智浦i.MX RT1xxx系列MCU啓動那些事(11.B)- FlexSPI NOR連接方式大全(RT1010)
恩智浦i.MX RT1xxx系列MCU啓動那些事(11.B)- FlexSPI NOR連接方式大全(RT1024(SIP))
恩智浦i.MX RT1xxx系列MCU啓動那些事(11.B)- FlexSPI NOR連接方式大全(RT1160/1170)
恩智浦i.MX RT1xxx系列MCU啓動那些事(12)- 從SD/eMMC啓動
恩智浦i.MX RT1xxx系列MCU啓動那些事(13)- 從Serial(1-bit SPI) EEPROM/NOR恢復啓動
恩智浦i.MX RT1xxx系列MCU啓動那些事(13.A)- LPSPI NOR啓動時間(RT1170)
恩智浦i.MX RT1xxx系列MCU啓動那些事(14)- 動態解密安全啓動需知(BEE)
恩智浦i.MX RT1xxx系列MCU啓動那些事(15)- 動態解密安全啓動需知(OTFAD)
恩智浦i.MX RT1xxx系列MCU啓動那些事(16)- 終極一站式工具(NXP-MCUBootUtility)

經驗篇(持續更新中...79/83)

類別 文章
電源時鐘 淺談i.MXRT1xxx系列MCU時鐘相關功能引腳的作用
淺談i.MXRT10xx系列MCU外接24MHz晶振的作用
系統啓動 理解i.MXRT1xxx上的XIP和Non-XIP App製作、下載、啓動、調試上的差異
在i.MXRT1xxx上設計一個level2 bootloader實現App分散加載啓動
使用i.MXRT1xxx ROM Flashloader工具生成bootable image的注意事項
IVT裏的不同entry設置可能會造成i.MXRT1xxx系列啓動App後發生異常跑飛
16MB以上NOR Flash使用不當可能會造成軟復位後i.MXRT無法正常啓動
導致串行NOR Flash在i.MXRT下無法正常下載/啓動的常見因素之SFDP
導致串行NOR Flash在i.MXRT下無法正常下載/啓動的常見因素之QE bit
導致串行NOR Flash在i.MXRT下無法正常下載/啓動的常見因素之Write Protection
i.MXRT中不支持DQS的FlexSPI引腳組連接串行NOR Flash下載與啓動注意事項
深入i.MXRT1050系列ROM中串行NOR Flash啓動初始化流程
瞭解i.MXRT1060系列ROM中串行NOR Flash啓動初始化流程優化點
自識別特性(Auto Probe)可以讓i.MXRT1060無需FDCB也能從NOR Flash啓動
從頭開始認識i.MXRT啓動頭FDCB裏的lookupTable
在i.MXRT啓動頭FDCB裏調整Flash工作頻率也需同步設Dummy Cycle(以IS25WP128D爲例)
在i.MXRT啓動頭FDCB裏使能串行NOR Flash的DTR模式
在i.MXRT1170上啓動含DQS的Octal Flash可不嚴格設Dummy Cycle(以MT35XU512爲例)
在i.MXRT1050上啓動含DQS的Hyper Flash可不嚴格設Dummy Cycle(以S26KS512爲例)
在i.MXRT啓動頭FDCB裏使能串行NOR Flash的Continuous read模式
串行NOR Flash的Continuous read模式下軟復位後i.MXRT無法啓動問題解決方案之RESET#
串行NOR Flash的Continuous read模式下軟復位後i.MXRT無法啓動問題解決方案之SW Reset
在i.MXRT啓動頭FDCB裏使能串行NOR Flash的QPI/OPI模式
系統時鐘配置不當會導致i.MXRT1xxx系列下OTFAD加密啓動失敗
FlexSPI復位方式不當會導致i.MXRT系列下OTFAD加密啓動失敗
揭祕i.MXRT1060,1010上串行NOR Flash冗餘程序啓動設計
揭祕i.MXRT1170上串行NOR Flash雙程序可交替啓動設計
聊聊系統看門狗WDOG1在i.MXRT1xxx系統啓動中的應用及影響
利用i.MXRT1xxx系列ROM集成的DCD功能可輕鬆配置指定外設
聊聊i.MXRT1xxx上第三級啓動保障 - SDMMC manufacture模式
藉助i.MXRT10xx系列INIT_VTOR功能可以縮短程序熱重啓時間
片內存儲 在SBL項目實戰中妙用i.MXRT1xxx裏SystemReset不復位的GPR寄存器
i.MXRT1010,1170型號上不一樣的SNVS GPR寄存器讀寫控制設計
改動i.MXRT1xxx裏IOMUXC_GPR寄存器保留位可能會造成系統異常
原來i.MXRT1xxx系列裏也暗藏了Product ID寄存器
瞭解i.MXRT1xxx系列裏負責動態分配ITCM/DTCM/OCRAM大小的FlexRAM模塊
下載算法 一個關於Segger J-Flash在Micron Flash固定區域下載校驗失敗的故事(SR寄存器BP[x:0]位)
在線升級 利用i.MXRT1xxx系列ROM提供的FlexSPI driver API可輕鬆IAP
其實i.MXRT1050,1020,1015系列ROM也提供了FlexSPI driver API
其實i.MXRT下改造FlexSPI driver同樣支持AHB方式去寫入NOR Flash
探討i.MXRT下FlexSPI driver實現Flash編程時對於中斷支持問題
藉助Serial Plot軟件觀測i.MXRT系列FlexSPI驅動Flash頁編程執行時間分佈
利用i.MXRT1060,1010上新增的FlexSPI地址重映射(Remap)功能可安全OTA
可通過USB Device Path來唯一指定i.MXRT設備進行ROM/Flashloader通信
仿真調試 IAR在線調試時設不同復位類型可能會導致i.MXRT下調試現象不一致(J-Link/DAPLink)
Keil在線調試時設不同復位類型可能會導致i.MXRT下調試現象不一致(J-Link/DAPLink)
揭祕i.MXRT1170上用J-Link連接復位後PC總是停在0x223104的原因
IAR環境下無法直接下載調試i.MXRT分散鏈接工程的解決方案(宏文件.mac+雙Flashloader)
通用外設 以i.MXRT1xxx的GPIO模塊爲例談談中斷處理函數(IRQHandler)的標準流程
對比恩智浦全系列MCU(包含Kinetis/LPC/i.MXRT/MCX)的GPIO電平中斷設計差異
聊聊i.MXRT1xxx上的普通GPIO與高速GPIO差異及其用法
實測i.MXRT1010上的普通GPIO與高速GPIO極限翻轉頻率
再測i.MXRT1060,1170上的普通GPIO與高速GPIO極限翻轉頻率
聊聊i.MXRT1170雙核下不同GPIO組的訪問以及中斷設計
介紹i.MXRT定時器PIT的多通道鏈接模式及其在coremark測試工程裏的應用
雙核通信 大話雙核i.MXRT1170之Cortex-M7與Cortex-M4互相激活之道
大話雙核i.MXRT1170之單獨在線調試從核工程的方法(IAR篇)
大話雙核i.MXRT1170之在線聯合調試雙核工程的三種方法(IAR篇)
外存擴展 同一廠商不同系列Flash型號下Dummy Cycle設置方法可能有差異(以IS25LP064A爲例)
關於i.MXRT中FlexSPI外設lookupTable裏配置Normal read的一個小誤區(Dummy Cycle不可設0)
理解i.MXRT中FlexSPI外設lookupTable裏配置訪問行列混合尋址Memory的參數值
串行NAND Flash的兩大特性(壞塊,讀等待)導致其在i.MXRT FlexSPI下無法XiP
i.MXRT中FlexSPI外設不常用的讀選通採樣時鐘源 - loopbackFromSckPad
在i.MXRT1060-EVK上利用memtester程序給SDRAM做壓力測試
分享一個i.MXRT系列配套DRAM壓力測試上位機工具(i.MXRT DRAM Tester)
性能分析 鏈接函數到8字節對齊地址或可進一步提升i.MXRT1xxx內核執行性能
i.MXRT中FlexSPI外設對AHB Burst Read特性的支持
i.MXRT全系列下FlexSPI外設AHB Master ID定義與AHB RX Buffer指定的異同
實抓Flash信號波形來看i.MXRT的FlexSPI外設下AHB讀訪問情形(無緩存)
實抓Flash信號波形來看i.MXRT的FlexSPI外設下AHB讀訪問情形(有預取)
實抓Flash信號波形來看i.MXRT的FlexSPI外設下AHB讀訪問情形(全加速)
在串口波特率識別實例裏逐步展示i.MXRT上提升代碼執行性能的十八般武藝
利用GPIO模塊來測量i.MXRT1xxx的系統中斷延遲時間
對比MbedTLS算法庫純軟件實現與i.MXRT上DCP,CAAM硬件加速器實現性能差異
圖形顯示 記錄i.MXRT1060驅動LCD屏顯示橫向漸變色有亮點問題解決全過程(提問篇)
記錄i.MXRT1060驅動LCD屏顯示橫向漸變色有亮點問題解決全過程(解答篇)
降低刷新率是定位LCD花屏顯示問題的第一大法(i.MXRT1170, 1280x480 LVDS)
安全可靠 簡析i.MXRT1170 Cortex-M7 FlexRAM ECC功能特點、開啓步驟、性能影響
簡析i.MXRT1170 Cortex-M4 L-MEM ECC功能特點、開啓步驟、性能影響
簡析i.MXRT1170 XECC功能特點及其保護串行NOR Flash和SDRAM之道
揭祕i.MXRT1170 eFuse空間訪問可靠性的保護策略(冗餘與ECC)
SNVS Master Key僅在i.MXRT10xx Hab關閉時才能用於DCP加解密
利用i.MXRT1xxx系列內部DCP引擎計算Hash值時需特別處理L1 D-Cache

項目篇(持續更新中...12/13)

kFlashFile - 一個基於Flash的掉電數據存取方案
RT-UFL - 一個適用全平臺i.MXRT的超級下載算法設計
超級下載算法RT-UFL v1.0發佈,附J-Link下安裝教程
超級下載算法RT-UFL v1.0在MCUXpresso IDE下的使用
超級下載算法RT-UFL v1.0在IAR EW for Arm下的使用
超級下載算法RT-UFL v1.0在Keil MDK下的使用
超級下載算法RT-UFL v1.0在Segger Ozone下的使用
超級下載算法(RT-UFL)開發筆記(1) - 執行在不同CM內核下
超級下載算法(RT-UFL)開發筆記(2) - 識別當前i.MXRT型號
超級下載算法(RT-UFL)開發筆記(3) - 統一FlexSPI驅動訪問
超級下載算法(RT-UFL)開發筆記(4) - 輪詢Flash配置參數
超級下載算法(RT-UFL)開發筆記(5) - 動態調整FlashDevice內容
超級下載算法(RT-UFL)開發筆記番外(1) - JLinkScript妙用

標準篇(持續更新中...8/10)

微控制器CPU性能測試基準(EEMBC-CoreMark)
並行NAND接口標準(ONFI)及SLC Raw NAND簡介
並行NAND互操作性標準(JESD230)
並行NOR接口標準(CFI-JESD68)及SLC Parallel NOR簡介
串行EEPROM接口事實標準及SPI EEPROM簡介
串行NOR接口標準(SFDP-JESD216)及QuadSPI NOR簡介
高速串行NOR兼容性標準(xSPI-JESD251)及OctalSPI/HyperBus NOR簡介
串行NOR Flash的DQS信號功能簡介
串行NOR Flash的頁編程模式對於量產效率的影響
內存讀寫正確性壓力測試程序(memtester)

第三方篇(持續更新中...3/3)

2021 TencentOS Tiny AIoT應用創新大賽 - 初賽階段的38個作品速覽
把玩i.MXRT1062 TencentOS Tiny EVB_AIoT開發板(1) - 開發環境搭建與點燈
把玩i.MXRT1062 TencentOS Tiny EVB_AIoT開發板(2) - 在Flash調試及離線啓動

--------------------------------------------------------------------------------------

飛思卡爾Kinetis系列和恩智浦LPC系列微控制器相關知識

飛思卡爾半導體(現恩智浦半導體)於2010年開始推出的Kinetis系列昭示着ARM Cortex-M MCU陣營又多了一個頂級廠商,其第一款芯片Kinetis K60,搭載Cortex-M4內核(也是業界第一款Cortex-M4內核產品),主頻最高可達150MHz,性能可達1.25DMIPS/MHz。

Kinetis芯片家族發展至今(2017)已拓展至7大家族系列:K/L/E/V/EA/M/W,其中K/L系列主打通用市場,其餘5個系列專攻細分領域。

恩智浦半導體最早於2003年便開始推出LPC系列MCU,但早期的產品LPC2000/3000系列屬於ARM7/9內核的產品,直到2008年開始推出的LPC1800系列標誌着恩智浦也加入了ARM Cortex-M MCU陣營,LPC18xx系列MCU,搭載Cortex-M3內核,主頻最高可達180MHz。

LPC芯片家族發展至今(2022)出現過很多家族成員系列:800/1100/1200/1300/1500/1700/1800/2000/3000/4000/4300/54000/5500系列,其中800/1100/54000/5500系列是目前的主推產品系列。

Kinetis調試篇(持續更新中...1/3)

飛思卡爾Kinetis開發板OpenSDA調試器那些事(上)- 背景與架構
飛思卡爾Kinetis開發板OpenSDA調試器那些事(中)- 使用與修復
飛思卡爾Kinetis開發板OpenSDA調試器那些事(下)- 原理與開發

Kinetis啓動篇(持續更新中...5/12)

飛思卡爾Kinetis系列MCU啓動那些事(1)- KBOOT架構
飛思卡爾Kinetis系列MCU啓動那些事(2)- KBOOT形態(ROM/Bootloader/Flashloader)
飛思卡爾Kinetis系列MCU啓動那些事(3)- KBOOT配置(FOPT/BOOT Pin/BCA)
飛思卡爾Kinetis系列MCU啓動那些事(4)- KBOOT通信外設(uart/spi/i2c/can/usb-hid)
飛思卡爾Kinetis系列MCU啓動那些事(5)- KBOOT初級工具(blhost/bus_pal/KinetisFlashTool)
飛思卡爾Kinetis系列MCU啓動那些事(6)- 從片內Flash啓動
飛思卡爾Kinetis系列MCU啓動那些事(7)- KBOOT高級工具(elftosb/QCBGenerator/embedded_host)
飛思卡爾Kinetis系列MCU啓動那些事(8)- 從片外QSPI NOR Flash啓動
飛思卡爾Kinetis系列MCU啓動那些事(9)- KBOOT特性(完整性檢測)
飛思卡爾Kinetis系列MCU啓動那些事(10)- KBOOT特性(可靠升級)
飛思卡爾Kinetis系列MCU啓動那些事(11)- KBOOT特性(ROM API)
飛思卡爾Kinetis系列MCU啓動那些事(12)- KBOOT特性(Security)

LPC外設驅動篇(持續更新中...1/1)

恩智浦經典LPC系列MCU內部Flash IAP驅動入門

--------------------------------------------------------------------------------------

ARM Cortex-M內核微控制器相關知識

ARM公司從2004年開始推出Cortex-M系列內核,迄今Cortex-M家族已經包含九款Cortex-M0/M0+/M1/M3/M4/M7/M23/M33/M35P,一個合格的Cortex-M微控制器開發者必須要對這些內核有充分了解,讀內核手冊是瞭解內核的主要途徑,而對於Cortex-M軟件開發者來說還可以從CMSIS(Cortex-M軟件接口標準)入手來逐步瞭解內核的使用。

資料篇(全1篇已完結)

史上最強ARM Cortex-M學習資源彙總(持續更新中...)

芯聞篇(持續更新中...2/2)

單片機AI的春天已來,ARM Cortex-M55發佈了
Ethos-U55,ARM首款面向Cortex-M的microNPU

內核篇(持續更新中...8/14)

ARM Cortex-M內核那些事(1)- 內核架構編年史
ARM Cortex-M內核那些事(2)- 第一款微控制器
ARM Cortex-M內核那些事(3.1)- 功能模塊看差異(M0/3/4/7)
ARM Cortex-M內核那些事(3.2)- 爲Security而生(M23/33/35P)
ARM Cortex-M內核那些事(4)- 性能指標大比拼
ARM Cortex-M內核那些事(5)- 一表蒐羅指令集
ARM Cortex-M內核那些事(6)- 系統堆棧機制
ARM Cortex-M內核那些事(7)- 內核寄存器
ARM Cortex-M內核那些事(8)- 系統總線(AHB/APB/AXI)
ARM Cortex-M內核那些事(9.1)- 存儲保護(MPU - PMSAv6/7)
ARM Cortex-M內核那些事(9.2)- 存儲保護(MPU - PMSAv8)
ARM Cortex-M內核那些事(10)- 浮點計算(FPU)
ARM Cortex-M內核那些事(11)- 數字信號處理(DSP)
ARM Cortex-M內核那些事(12)- 安全區域(TrustZone)

中斷篇(持續更新中...0/5)

ARM Cortex-M中斷那些事(1)- 工作機制
ARM Cortex-M中斷那些事(2)- 管理模塊(SCB/NVIC)
ARM Cortex-M中斷那些事(3)- 向量表
ARM Cortex-M中斷那些事(4)- 優先級設置
ARM Cortex-M中斷那些事(5)- 異常處理

功耗篇(持續更新中...0/0)

ARM Cortex-M低功耗那些事(0)- 索引

調試篇(持續更新中...1/8)

ARM Cortex-M調試那些事(1)- 4線協議標準(JTAG)
ARM Cortex-M調試那些事(2)- 2線協議標準(SWD)
ARM Cortex-M調試那些事(3)- CoreSight架構
ARM Cortex-M調試那些事(4)- DAPLink調試器
ARM Cortex-M調試那些事(5)- J-Link仿真器
ARM Cortex-M調試那些事(6)- IAR內嵌調試C-SPY
ARM Cortex-M調試那些事(7)- Flashloader
ARM Cortex-M調試那些事(8)- 常用技巧

文件篇(全9篇已完結)

ARM Cortex-M文件那些事(0)- 文件關聯
ARM Cortex-M文件那些事(1)- 源文件(.c/.h/.s)
ARM Cortex-M文件那些事(2)- 鏈接文件(.icf)
ARM Cortex-M文件那些事(3)- 工程文件(.ewp)
ARM Cortex-M文件那些事(4)- 可重定向文件(.o/.a)
ARM Cortex-M文件那些事(5)- 映射文件(.map)
ARM Cortex-M文件那些事(6)- 可執行文件(.out/.elf)
ARM Cortex-M文件那些事(7)- 反彙編文件(.s/.lst/.dump)
ARM Cortex-M文件那些事(8)- 鏡像文件(.bin/.hex/.s19)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章