原创 imx8mq-evk快速啓動-方案討論,準備工作

一、優化啓動時間的流程 1、系統啓動流程:先使用nxp提供的系統方案啓動系統。分析系統啓動流程。優化啓動時間工作在驗證系統必須功能正常的前提下進行。系統可以獨立下載源碼進行編譯,也可以通過yocto工程構建。 本次優化啓動時間的優

原创 RT-1052學習筆記(5 )- GPIO架構分析

前提提一句,i.MX RT1052與imx6ul的很多片內外設的架構長的都是一樣的。 分析GPIO的外設框架 橙色部分:由IOMUX控制,負責控制IO口的輸入輸出使能,上下拉或者開漏,保持,驅動能力,壓擺率,帶寬,HYS滯後使能輸入。這

原创 imx8mq - u-boot-spl啓動分析

Step 1: _start: 保存一下32個64位寄存器到rom_pointer上 設置小端字節序,關閉MMU,I/DCACHE,設置緩存一致性 修復內核勘誤bug 使無效Cache/BPB/TLB 低級初始化,spl不作處理

原创 RT-1052學習筆記(3 )-分散加載文件

複習MDK鏈接加載程序過程 例子:各種數據所存放的段 #define DATA (0x10000000) /* RO-Data */ char const

原创 RT-1052學習筆記(2)-Cortex-M內核啓動文件_main分析

這篇文章梳理了RT1052的啓動過程 從Reset_Handler直至main 問題:分析RT1052啓動流程的時候,卡在分散加載文件在啓動的時候到底是怎麼調用的。結果把問題點盯在啓動文件的_main函數中。 可能自己比較菜吧,死活找不到

原创 imx8mq-evk快速啓動-bootloader時間優化(eMMC啓動)

一、imx8mq的bootloader分析 關於imx8mq的bootloader系列,可以參考前面的三篇文章 imx8mq - u-boot-spl啓動分析 imx8mq - bootloader編譯過程 imx8mq - u

原创 RT-1052學習筆記(4)FlexRAM

FlexRAM框架 FlexRAM意爲高度可配置RAM門列陣。這個東西把內部集成的512KBRAM平均分成了16個bank,每個32KB。FlexRAM可以把他們配置成三張模式之一:ITGM,DTIM,OCRAM ITCM:指令

原创 RT1052學習筆記(2)- FlexSPI啓動

這篇文章分析RT1052芯片從FlexSPI上電啓動到執行第一條指令的全過程 設置RT1052從FlexSPI啓動 FlexSPI的初始化流程 boot ROM對FlexSPI的初始化 boot ROM是固化在芯片內部的

原创 RT-1052學習筆記(2)- GPIO架構分析

前提提一句,i.MX RT1052與imx6ul的很多片內外設的架構長的都是一樣的。 分析GPIO的外設框架 橙色部分:由IOMUX控制,負責控制IO口的輸入輸出使能,上下拉或者開漏,保持,驅動能力,壓擺率,帶寬,HYS滯後使能輸入,通

原创 RT-1052學習筆記(1)-Cortex-M內核啓動文件_main分析

這篇文章梳理了RT1052的啓動過程 從Reset_Handler直至main 問題:分析RT1052啓動流程的時候,卡在分散加載文件在啓動的時候到底是怎麼調用的。結果把問題點盯在啓動文件的_main函數中。 可能自己比較菜吧,死活找不到

原创 RT1052學習筆記(0)-分散加載文件

複習MDK鏈接加載程序過程 例子:各種數據所存放的段 #define DATA (0x10000000) /* RO-Data */ char const Gc

原创 C語言中不常用卻很實用的用法

C語言中不常用卻很實用的用法 “##”連字符 例子: #define LWIP_MEMPOOL(name,num,size,desc) MEMP_##name, 解析:上面宏定義中的“##”爲連接符,用於連接兩個Token爲一個To

原创 問題記錄setStyleSheet:Qt樣式表頻繁設置導致CPU佔用過高問題

一、問題 APP控件: QWidget:主窗口,背景利用setStyleSheet設置,同時重寫paintEvent事件(QWigdet的重繪事件對樣式表不生效): void mainWidget::paintEvent(QPaintE

原创 Qt多線程同步方式:QSemaphore,QWaitcondition和 QMutex三種方式實現

一、目的 在Qt多線程程序開發中,經常會碰到一個線程需要阻塞等待一個資源或者一個事件發生。或者需要與另一個線程進行同步。 基於以上需求,下面用QSemaphore,QWaitcondition和 QMutex三種方式實現線程的同步運行。

原创 Linux串口編程,實現不定長收發數據包

參考:Linux下串口通信詳解 https://blog.csdn.net/specialshoot/article/details/50707965 https://blog.csdn.net/specialshoot/article/