0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SWM181定制UserBoot執(zhí)行流程

0xQC_gh_ed4f95b ? 來源:華芯微特32位MCU ? 作者:華芯微特32位MCU ? 2021-11-17 16:23 ? 次閱讀

01 存儲器劃分

SWM181xB的Flash總大小為120K,其中前96K用于APP,后24K用于UserBoot,芯片上電先執(zhí)行UserBoot,然后跳轉(zhuǎn)到APP。

SWM181xC的Flash總大小為248K,UserBoot在96K起始的24K處,若程序大小超過96K,則需要在Keil中做如下設(shè)置:

02 執(zhí)行流程

05587c1e-444e-11ec-b939-dac502259ad0.png

B0接低時,上電后芯片直接執(zhí)行APP。

B0接高時,上電后芯片檢查地址0x18020處內(nèi)容:

若內(nèi)容不是0x0B11FFAC,則執(zhí)行ISP代碼,可通過串口燒錄APP。

若內(nèi)容是0x0B11FFAC,則跳轉(zhuǎn)到UserBoot。

03 工程設(shè)置

UserBoot 和 APP

startup_SWM181.s中需要如下設(shè)置,確保程序的0x20、0x24、0x28三個地址處有正確取值:

DCD 0x0B11FFAC

DCD 0x6000

DCD SRAM_SWITCH

05b452c8-444e-11ec-b939-dac502259ad0.jpg

關(guān)于0x6000

UserBoot和APP中的0x6000分別指定了UserBoot和APP的大小為24k,若它們的大小不是24k,可修改對應(yīng)值縮短代碼拷貝時長;設(shè)定值必須是0x1000的整數(shù)倍,且大于等于實際程序大小。如果對上電時間沒有苛刻要求,建議不要修改。

UserBoot

UserBoot的連接使用分散加載文件控制。

04 程序下載

UserBoot

可使用SWMProg、SYNWIT_ISP等可將代碼下載到指定位置的軟件下載。

APP——可使用Keil下載

下載時不要選全擦,否則會把之前下載的UserBoot擦掉。

使用其他工具給SWM181xC下載時需要注意:若程序大于96K需要避免下載工具將0x18000-0x1E000的UserBoot覆寫掉。

可以將APP和UserBoot的bin文件合并成一個然后再用批量工具燒錄。

05 升級ISP

檢查0x18020地址處內(nèi)容并跳轉(zhuǎn)到UserBoot的工作其實是由ISP代碼完成的,舊版ISP代碼沒有此功能,因此需要給帶有舊版ISP代碼的芯片升級ISP。

06 跳轉(zhuǎn)前的清理工作

UserBoot程序中,跳轉(zhuǎn)到APP之前,需要執(zhí)行以下清理操作:

(1)關(guān)閉UserBoot中開啟的外設(shè)中斷;

(2)關(guān)閉UserBoot中使用過的外設(shè)(給外設(shè)的控制寄存器恢復(fù)默認(rèn)值);

比如如果UserBoot中使用了Timer中斷,在跳轉(zhuǎn)到APP之前沒有關(guān)閉Timer的話,那么進入APP之后這個Timer還會觸發(fā)中斷,而APP中沒有給這個Timer寫ISR的話,就會執(zhí)行默認(rèn)ISR,是個死循環(huán)。

注意事項:

下載UserBoot后,ISP程序無法再執(zhí)行,若App中關(guān)閉了SWD,則芯片無法再通過JLink和ISP串口更新程序,只能通過UserBoot更新或擦除App。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50025

    瀏覽量

    419791
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7408

    瀏覽量

    163420

原文標(biāo)題:SWM181定制UserBoot操作指南

文章出處:【微信號:gh_ed4f95bde4df,微信公眾號:華芯微特32位MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    TMDS181和TMDS171配置指南

    電子發(fā)燒友網(wǎng)站提供《TMDS181和TMDS171配置指南.pdf》資料免費下載
    發(fā)表于 09-19 13:26 ?0次下載
    TMDS<b class='flag-5'>181</b>和TMDS171配置指南

    華芯微特屏驅(qū)MCU-SWM320系列

    ? 128KB/256KB/512KB ? 支持用戶定制 ISP(在系統(tǒng)編程)更新用戶程序 ? 串行接口 ? UART 模塊,具有獨立 8 字節(jié) FIFO,最高支持主時鐘 16 分頻 ? SPI 模塊
    發(fā)表于 08-05 09:31

    AOSP源碼定制-對root定制的補充流程

    前面通過修改build.prop中的指紋以及對su的修改,完成了基礎(chǔ)的定制修改,但是碰上一些app還是能被檢測到,再進行深入修改。
    的頭像 發(fā)表于 04-01 11:04 ?1111次閱讀
    AOSP源碼<b class='flag-5'>定制</b>-對root<b class='flag-5'>定制</b>的補充<b class='flag-5'>流程</b>

    新思科技攜手三星面向其SF2工藝開發(fā)優(yōu)化數(shù)字和定制設(shè)計流程

    由Synopsys.ai EDA解決方案加持的優(yōu)化數(shù)字和定制設(shè)計流程加速了針對三星先進節(jié)點設(shè)計的開發(fā)。
    的頭像 發(fā)表于 12-07 09:51 ?543次閱讀

    secondary cpu執(zhí)行流程介紹

    secondary cpu執(zhí)行流程 aarch64架構(gòu)secondary cpu的內(nèi)核入口函數(shù)為secondary_entry(arch/arm64/kernel/head.S),以下為其執(zhí)行
    的頭像 發(fā)表于 12-05 16:12 ?755次閱讀
    secondary cpu<b class='flag-5'>執(zhí)行</b><b class='flag-5'>流程</b>介紹

    bootm命令的執(zhí)行流程

    Bootm命令用來從memory啟動內(nèi)核,bootm命令的執(zhí)行流程如下圖所示。 在串口終端輸入bootm命令后,執(zhí)行do_bootm函數(shù)來完成相應(yīng)的功能。Do_bootm函數(shù)首先
    的頭像 發(fā)表于 12-04 17:33 ?1031次閱讀
    bootm命令的<b class='flag-5'>執(zhí)行</b><b class='flag-5'>流程</b>

    for循環(huán)的執(zhí)行流程

    for循環(huán)是編程中常用的一種循環(huán)結(jié)構(gòu),它可以重復(fù)執(zhí)行一段代碼塊,直到達到指定的條件才結(jié)束循環(huán)。在這篇文章中,我將詳細介紹for循環(huán)的執(zhí)行流程,以幫助讀者深入理解該循環(huán)結(jié)構(gòu)的工作原理。 首先,我們需要
    的頭像 發(fā)表于 11-21 14:55 ?1612次閱讀

    國產(chǎn)SWM241系列替代瑞薩R5F100LEA

    華芯微特SWM241系列性能完美兼容瑞薩的R5F100LEA,提供更高性價比的小家電32位MCU,SWM241 系列 32 位 MCU 內(nèi)嵌 ARM? CortexTM-M0 內(nèi)核 24位系統(tǒng)定時器
    發(fā)表于 11-20 15:43

    2SJ181(L), 2SJ181(S) 數(shù)據(jù)表

    2SJ181(L), 2SJ181(S) 數(shù)據(jù)表
    發(fā)表于 11-16 18:30 ?0次下載
    2SJ<b class='flag-5'>181</b>(L), 2SJ<b class='flag-5'>181</b>(S) 數(shù)據(jù)表

    SWM341系列之86盒智能開關(guān)應(yīng)用

    SWM341系列之 86盒智能開關(guān)應(yīng)用
    的頭像 發(fā)表于 11-10 18:25 ?1010次閱讀
    <b class='flag-5'>SWM</b>341系列之86盒智能開關(guān)應(yīng)用

    華芯微特SWM34S系列高性能屏驅(qū)MCU 應(yīng)用于儲能、充電樁的儀表/顯示屏

    SWM341 是一款基于 ARM○R Cortex?-M33 的 32 位微控制器。具有高性能、低功耗、代碼密度大等突出特點,適用于工業(yè)控制、白色家電、電機驅(qū)動等諸多應(yīng)用領(lǐng)域。SWM341 內(nèi)嵌
    發(fā)表于 11-08 16:36

    基于32位高速MCU芯片SWM201GS7的單電阻空氣凈化器電機驅(qū)動DEMO方案

    基于32位高速MCU芯片SWM201GS7的單電阻空氣凈化器電機驅(qū)動DEMO方案
    的頭像 發(fā)表于 11-07 17:15 ?736次閱讀
    基于32位高速MCU芯片<b class='flag-5'>SWM</b>201GS7的單電阻空氣凈化器電機驅(qū)動DEMO方案

    SWM341 DMA2D模塊介紹

    SWM341 DMA2D模塊介紹
    的頭像 發(fā)表于 11-06 17:11 ?643次閱讀
    <b class='flag-5'>SWM</b>341 DMA2D模塊介紹

    reset_primary函數(shù)的執(zhí)行流程

    reset_primary函數(shù)的執(zhí)行 以CONFIG_BOOT_SYNC_CPU使能為例, 在使能PSCI系統(tǒng)中,不需要使能此宏 。 reset_primary函數(shù)執(zhí)行流程
    的頭像 發(fā)表于 11-02 18:06 ?487次閱讀
    reset_primary函數(shù)的<b class='flag-5'>執(zhí)行</b><b class='flag-5'>流程</b>

    SWM341系列之SWM34SRET6介紹

    SWM341系列之SWM34SRET6介紹
    的頭像 發(fā)表于 10-27 10:19 ?1987次閱讀
    <b class='flag-5'>SWM</b>341系列之<b class='flag-5'>SWM</b>34SRET6介紹