<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      痞子衡嵌入式:把玩i.MXRT1062 TencentOS Tiny EVB_AIoT開發板(2) - 在Flash調試及離線啟動


        大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是i.MXRT1062 TencentOS Tiny EVB_AIoT開發板在Flash調試與離線啟動

        騰訊 TencentOS 團隊于2021年12月8日聯合恩智浦半導體、安謀科技發起了一個線上開發者活動 - TencentOS Tiny AIoT 應用創新大賽。為了這個大賽,騰訊 TencentOS 團隊聯合恩智浦半導體、厚德物聯網設計了一款高性能 AIoT 評估板,用于 TencentOS tiny 基礎內核和 AIoT 應用功能體驗和評估。

        痞子衡受邀為這個大賽準備一場直播課程(12月30日晚7點),主題是板載主控恩智浦 i.MXRT1062 芯片快速開發指南,由于課程時間限定在40分鐘,要講的內容又比較多,注定只能走馬觀花,所以這個系列文章就圍繞 EVB_AIoT 開發板給這場直播做一個鋪墊和補充。上一篇我們講了 《開發環境搭建與點燈》,本文是第二篇,我們來講講在 Flash 調試與離線啟動:

      一、跑通串口打印

        上一篇文章我們借助板載 DAP-Link 調試器在芯片內部 RAM 里以在線調試的方式跑通了最入門的點燈實驗,今天我們換個同樣也非常經典的串口打印例程,恩智浦 SDK 包里有模板工程(記得用 MCUXpresso IDE 導出):

      • 串口例程:\SDK_2.10.1_EVK-MIMXRT1060\boards\evkmimxrt1060\demo_apps\hello_world

        hello_world 模板工程里使能的是 i.MXRT1062 UART1(管腳是 GPIO_AD_B0[13:12]]),我們查看 EVB_AIoT 板原理圖,這兩個 UART1 信號同樣被引了出來(即下圖 AT_PC_UART 信號),不過用了模擬開關 BCT4699 做了切換設計,這里我們需要改一下默認設置,將母板上 SW1 開關撥到 1-2,這樣 UART1 就被連到了板載調試器虛擬串口上:

      1. 開關 SW1 選擇 2-3(出廠默認設置):
         - 母板接插無線模塊連通母板 DAP-Link 調試器虛擬串口 
      2. 開關 SW1 選擇 1-2:
         - 子板主控 UART2 連通母板接插無線模塊
         - 子板主控 UART1 連通母板 DAP-Link 調試器虛擬串口
      

        雖然不用更改 hello_world 模板工程的源代碼,但是我們還是要按照第一篇文章 《開發環境搭建與點燈》 第 2.3 小節里指示在工程屬性里勾選上 Link application to RAM 選項,此外還要調整一下工程屬性 Memory details 窗口里 SRAM_DTC 的位置,不同于 led_blinky 模板工程默認用 SRAM_DTC 作主鏈接 RAM,這個 hello_world 模板工程默認是用外接 SDRAM 作為主鏈接 RAM,這個會涉及 SDRAM 初始化腳本加載問題,我們先不考慮這個問題,直接將 RAM3 移動到 RAM 位置:

        改完后編譯工程,使用板載 DAP-Link 下載工程調試,然后用串口調試助手軟件打開板載 DAP-Link 調試器虛擬出的 mbed Serial Port,在 IDE 里按 F8(Resume)鍵讓程序跑起來,這時候應該能看到 'hello world.' 的打印輸出。

      二、i.MXRT1062 離線啟動

        目前為止,我們跑的兩個例程 led_blinky 和 hello_world 均是在 i.MXRT1062 內部 TCM 里在線調試,板子斷電后程序就丟失了。那么如何去使能離線啟動呢?

        這里就開始涉及 i.MXRT1062 啟動話題了,建議先通讀痞子衡舊文 《i.MXRT Boot簡介》。i.MXRT1062 內部并沒有非易失性代碼存儲器,所以你會在 EVB_AIoT 子板上看到有兩顆華邦 W25Q64JVSIQ Flash,一顆連到了芯片 FlexSPI1 外設(管腳 GPIO_SD_B1[11:06],這并不是唯一的啟動連接 pinmux 選擇,詳見 《i.MXRT1060 FlexSPI NOR啟動連接方式大全》 ),另一顆連到了芯片 LPSPI3 外設(管腳 GPIO_AD_B0[3:0]),這兩顆 Flash 都可以用于存儲應用程序代碼去啟動,只不過前一種連接方式能支持 XiP,后者不支持 XiP,一般情況下我們更多是用 FlexSPI 連接的 NOR Flash 去做離線啟動:

        i.MXRT1062 的啟動工作主要是由固化在芯片內部的 ROM bootloader 來實現的,因為 ROM bootloader 在設計時要求支持非常多種類的存儲器(串并行NOR/串并行NAND/SD卡/eMMC等)去啟動,所以其定義了一套啟動頭來輔助啟動,詳見 《i.MXRT Bootable image格式與加載》一文。

        對于連接在 FlexSPI 外設上的串行 NOR Flash,其至少需要三個啟動頭,包括 qspiflash_config、image_vector_table、boot_data,它們需要被燒寫到 Flash 中的固定偏移位置:0x0、0x1000、0x1020,這三個啟動頭已經在模板工程目錄 xip 文件夾里的源文件里了。image_vector_table、boot_data 頭正常不需要改動,qspiflash_config 頭因連接的 Flash 而異:

      三、MCUXpresso IDE下在Flash調試

        要實現在 Flash 調試,首先 IDE 要能把應用程序下載進 Flash,其次被下載的應用程序要能夠從 Flash 中正常啟動。前者需要一個合適的 Flash 下載算法(請閱讀 《MCUXpresso IDE串行NOR Flash下載算法》一文),后者需要正確的啟動頭以及芯片啟動模式設置(請閱讀 《MCUXpresso IDE下在線調試時使用不同復位策略的現象總結》 一文)。

        板級設置方面只需要檢查下子板上的 J2 撥碼開關狀態是不是 1-off, 2-on,即主控芯片 BOOT_MODE[1:0] 為 2'b10 - 從 Flash 啟動模式,注意這個 J2 撥碼開關的設置僅 POR 復位有效。

        因為 EVB_AIoT 板上使用的這顆華邦 W25Q64JVSIQ 與恩智浦官方 MIMXRT1060-EVK 評估板上使用的芯成 IS25WP064AJBLE 特性類似,均是符合 JESD216A 標準的四線串行 NOR Flash,而且管腳連接也一致,所以它倆對于 i.MXRT 來說下載算法和啟動頭是一樣的,我們不需要做任何改動,直接使用模板工程配置就行了。

        在 MCUXpresso IDE 工程里去掉 Link application to RAM 選項,再檢查下 LinkServer flash driver 的設置,這個默認 MIMXRT1060_SFDP_QSPI.cfx 下載算法直接可以用于下載調試 EVB_AIoT 子板上的華邦 Flash。試試看你可以在 Flash 里單步調試這個 hello_world 例程的。

      四、獨立燒錄工具

        除了在 MCUXpresso IDE 里通過調試器去下載程序進 Flash 啟動,恩智浦還提供了獨立的上位機工具來完成程序燒錄,這主要借助了 i.MXRT1062 的 ROM bootloader 以及二級 Flashloader 設計,這個功能不是依靠 SWD 調試口來下載程序,而是主控芯片上指定的 UART1(GPIO_AD_B0[13:12]) 或者 USB OTG1 口去下載。

        EVB_AIoT 母板上將 USB OTG1 信號引到了 PCIe 接頭上,所以我們不方便用 USB 口去下載程序,只能用連到母板板載 DAP-Link 調試器虛擬串口上的 UART1 去下載了(這也是第一小節跑通串口打印例程的用意,確認下串口沒問題)。

        使用獨立燒錄工具下載前,必須先將子板上的 J2 撥碼開關狀態設為 1-on, 2-off,即主控芯片 BOOT_MODE[1:0] 為 2'b01 - 串行下載模式,再次提醒這個 J2 撥碼開關的設置僅 POR 復位有效。下載完成后需要將 J2 切回到 1-off,2-on 看芯片啟動效果。

        獨立燒錄軟件均支持常見的應用程序鏡像文件格式(.elf/.axf/.srec/.hex/.bin),你隨便用哪種格式都可以完成下載,非常方便。

      4.1 MCUBootUtility

      4.2 MCUXpresso Secure Provisioning Tool

        至此,i.MXRT1062 TencentOS Tiny EVB_AIoT開發板在Flash調試與離線啟動痞子衡便介紹完畢了,掌聲在哪里~~~

      歡迎訂閱

      文章會同時發布到我的 博客園主頁CSDN主頁知乎主頁微信公眾號 平臺上。

      微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。

      posted @ 2021-12-26 19:04  痞子衡  閱讀(852)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日本一区不卡高清更新二区| 少妇无套内射中出视频| 精品国产一区二区三区香蕉| 99www久久综合久久爱com| 亚洲熟妇少妇任你躁在线观看无码| 国产三级a三级三级| 午夜精品一区二区三区在线观看 | 国产在线观看播放av| 艳妇乳肉豪妇荡乳av| 久久精品国产99久久6| 久久精品99国产精品日本| 永久免费AV无码网站YY| 国产99视频精品免费专区| 中文字幕人妻有码久视频| 日韩av综合中文字幕| 亚洲欧洲美洲无码精品va| 亚洲中文字幕无码av永久| 国产精品揄拍100视频| 成人精品区| 22222se男人的天堂| 日韩成人高精品一区二区| 亚洲色大成网站WWW永久麻豆| 大地资源免费视频观看| 丁香花成人电影| 午夜亚洲AV日韩AV无码大全| 四虎永久在线精品免费看| 中文日韩在线一区二区| 午夜成人精品福利网站在线观看 | 久久中文字幕日韩无码视频| 亚洲 欧美 综合 在线 精品| 深夜福利成人免费在线观看| 亚洲一区二区偷拍精品| 国产高清国产精品国产专区| 亚洲国产超清无码专区| 亚洲人妻精品一区二区| yy111111少妇无码影院| 91老熟女老人国产老太| 亚洲无av在线中文字幕| 欧美另类videossexo高潮| 精品久久久久久国产| 看亚洲黄色不在线网占|