91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

記錄Red Lite Env項(xiàng)目的基礎(chǔ)搭建過程及碰到的問題

冬至子 ? 來源:兆易創(chuàng)新GD32 MCU ? 作者:Red ? 2022-09-30 14:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux 下如何使用對 GD32F310G START 進(jìn)行在線調(diào)試以及程序下載

需要使用的關(guān)鍵工具是,開源的調(diào)試器 openocd, 涉及到有兩個配置文件,分別是 target 的配置文件 gd32f3x.cfg:

# script for stm32f3x family

#
# stm32 devices support both JTAG and SWD transports.
#
source [find target/swj-dp.tcl]
source [find mem_helper.tcl]

if { [info exists CHIPNAME] } {
   set _CHIPNAME $CHIPNAME
} else {
   set _CHIPNAME stm32f3x
}

set _ENDIAN little

# Work-area is a space in RAM used for flash programming
# By default use 16kB
if { [info exists WORKAREASIZE] } {
   set _WORKAREASIZE $WORKAREASIZE
} else {
   set _WORKAREASIZE 0x4000
}

# JTAG speed should be <= F_CPU/6. F_CPU after reset is 8MHz, so use F_JTAG = 1MHz
#
# Since we may be running of an RC oscilator, we crank down the speed a
# bit more to be on the safe side. Perhaps superstition, but if are
# running off a crystal, we can run closer to the limit. Note
# that there can be a pretty wide band where things are more or less stable.
adapter speed 1000

adapter srst delay 100
if {[using_jtag]} {
 jtag_ntrst_delay 100
}

#jtag scan chain
if { [info exists CPUTAPID] } {
   set _CPUTAPID $CPUTAPID
} else {
   if { [using_jtag] } {
      # See STM Document RM0316
      # Section 29.6.3 - corresponds to Cortex-M4 r0p1
      set _CPUTAPID 0x4ba00477
   } {
      set _CPUTAPID 0x2ba01477
   }
}

swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu

if {[using_jtag]} {
   jtag newtap $_CHIPNAME bs -irlen 5
}

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m -endian $_ENDIAN -dap $_CHIPNAME.dap

$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0

set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME stm32f1x 0 0 0 0 $_TARGETNAME

reset_config srst_nogate

if {![using_hla]} {
   # if srst is not fitted use SYSRESETREQ to
   # perform a soft reset
   cortex_m reset_config sysresetreq
}

proc stm32f3x_default_reset_start {} {
    # Reset clock is HSI (8 MHz)
    adapter speed 1000
}

proc stm32f3x_default_examine_end {} {
    # Enable debug during low power modes (uses more power)
    mmw 0xe0042004 0x00000007 0 ;# DBGMCU_CR |= DBG_STANDBY | DBG_STOP | DBG_SLEEP

    # Stop watchdog counters during halt
    mmw 0xe0042008 0x00001800 0 ;# DBGMCU_APB1_FZ |= DBG_IWDG_STOP | DBG_WWDG_STOP
}

proc stm32f3x_default_reset_init {} {
    # Configure PLL to boost clock to HSI x 8 (64 MHz)
    mww 0x40021004 0x00380400   ;# RCC_CFGR = PLLMUL[3:1] | PPRE1[2]
    mmw 0x40021000 0x01000000 0 ;# RCC_CR |= PLLON
    mww 0x40022000 0x00000012   ;# FLASH_ACR = PRFTBE | LATENCY[1]
    sleep 10                    ;# Wait for PLL to lock
    mmw 0x40021004 0x00000002 0 ;# RCC_CFGR |= SW[1]

    # Boost JTAG frequency
    adapter speed 8000
}

# Default hooks
$_TARGETNAME configure -event examine-end { stm32f3x_default_examine_end }
$_TARGETNAME configure -event reset-start { stm32f3x_default_reset_start }
$_TARGETNAME configure -event reset-init { stm32f3x_default_reset_init }

$_TARGETNAME configure -event trace-config {
    # Set TRACE_IOEN; TRACE_MODE is set to async; when using sync
    # change this value accordingly to configure trace pins
    # assignment
    mmw 0xe0042004 0x00000020 0
}

board 的配置文件 gd32f3start.cfg

# sudo openocd -f interface/cmsis-dap.cfg -c "transport select swd" -c "set CPUTAPID 0" -f target/gd32f3x.cfg
#
source [find interface/cmsis-dap.cfg]
transport select swd

set CPUTAPID 0
set WORKAREASIZE 0x2000
source [find target/gd32f3x.cfg]

proc gdd { pos } {
    if { $pos == 0 } {
        reset;
        halt;
        flash write_image erase TencentOS_tiny.bin 0x8000000;
        reset;
        echo "stm down firm 2 internal flash success"
    } else {
        echo "invalid gdd down to others"
    }
}

分別將上述配置文件放到 openocd 的安裝目錄,大概是這樣的:

? tree -L  1 /usr/share/openocd/scripts/
/usr/share/openocd/scripts/
├── bitsbytes.tcl
├── board  ==> 放 gd32f3start.cfg 配置文件
├── chip
├── cpld
├── cpu
├── fpga
├── interface
├── mem_helper.tcl
├── memory.tcl
├── mmr_helpers.tcl
├── target  ==> 放 gd32f3x.cfg 配置文件
├── test
└── tools

9 directories, 4 files

連接開發(fā)板的命令是 openocd -f board/gd32f3start.cfg, 如果一切順利你會看到這樣的信息:

poYBAGM2kcqAEdC3AAFizhsdUCU126.png

接下去可以:

使用 arm-none-eabi-gdb 連接本機(jī)的 3333 端口遠(yuǎn)程調(diào)試開發(fā)板

使用 telnet 鏈接本機(jī)的 4444 端口進(jìn)行程序下載調(diào)試

效果大概是這樣的:

poYBAGM2kd-ADKuWAALBWkcGRto979.png

環(huán)境搭建好了之后,就可以開發(fā)愉快的開發(fā)了。

移植 Tencent OS 到 GD32F310G START

移植系統(tǒng)比較快的方法是:

參考一個架構(gòu)類似的處理器的工程,然后復(fù)制修改替換,保證編譯通過

閱讀整個系統(tǒng)的代碼走向,點(diǎn)燈調(diào)試

逐步優(yōu)化代碼,最后可以提交 療 到上游

此處具體的移植步驟我就不詳細(xì)記錄了,因?yàn)榫W(wǎng)上有豐富的系統(tǒng)移植的教程,都是大同小異的。我在此僅僅展示下我移植過程中的一些提交記錄:

poYBAGM2kfKAY90hAADaNUhMX4Y832.png

特別地,我將 TencentOS Tiny 的 shell 組件添加進(jìn)來了,所以效果是這樣的:

pYYBAGM2kgSAVct9AAEVqXipy-w744.png




審核編輯:劉清

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

    關(guān)注

    135

    文章

    9561

    瀏覽量

    392303
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11772

    瀏覽量

    219139
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    415

    瀏覽量

    75031
  • 調(diào)試器
    +關(guān)注

    關(guān)注

    1

    文章

    329

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    運(yùn)動相機(jī)RED認(rèn)證指令介紹

    運(yùn)動相機(jī)出口歐盟,帶無線功能(WiFi / 藍(lán)牙?/ 4G/5G)必須符合?CERED?指令;僅有線款無需 RED,需滿足?LVD 2014/35/EU?與?EMC 2014/30/EU。RED
    的頭像 發(fā)表于 02-26 14:55 ?112次閱讀
    運(yùn)動相機(jī)<b class='flag-5'>RED</b>認(rèn)證指令介紹

    ST7LITE3xF2微控制器:特性、應(yīng)用與設(shè)計要點(diǎn)解析

    ST7LITE3xF2微控制器:特性、應(yīng)用與設(shè)計要點(diǎn)解析 在電子工程師的日常工作中,選擇一款合適的微控制器對于項(xiàng)目的成功至關(guān)重要。ST7LITE3xF2作為ST7微控制器家族的一員,憑借其豐富的特性
    的頭像 發(fā)表于 02-09 11:50 ?550次閱讀

    Node-RED+Modbus_slave:JSON數(shù)據(jù)采集與阿里云服務(wù)器上傳

    1.引言 1.1文檔說明 本文檔介紹的是使用node-red將modbus_slave模擬的485數(shù)據(jù)進(jìn)行JSON數(shù)據(jù)封裝后,上傳到阿里云ECS私人搭建的服務(wù)器,數(shù)據(jù)通過服務(wù)器出處理后,存入到
    的頭像 發(fā)表于 01-05 17:37 ?732次閱讀
    Node-<b class='flag-5'>RED</b>+Modbus_slave:JSON數(shù)據(jù)采集與阿里云服務(wù)器上傳

    ESP32 編譯過程中 bootloader 配置階段的 CMake 緩存沖突錯誤,記錄

    : 1. 徹底清理編譯緩存(最關(guān)鍵) 首先刪除項(xiàng)目的 build 目錄,這是解決 CMake 緩存沖突最直接有效的方法: # 進(jìn)入你的項(xiàng)目目錄 cd F:\\\\xiaozhi-esp32-main
    發(fā)表于 12-23 07:07

    【瑞薩RA6E2】瑞薩E2S軟件安裝過程,等待過程玩下97_e2 studio_ZGZZ

    ;amp;vd_source=7ab92f6a337b22fda39554fd6e70f01a 本報告旨在記錄基于瑞薩RA6E2 MCU評估板的初步開發(fā)體驗(yàn)。主要內(nèi)容包括: 軟件開發(fā)環(huán)境的搭建與配置。瑞薩
    發(fā)表于 12-01 22:42

    潤和軟件中標(biāo)某農(nóng)商行AI服務(wù)器搭建及多場景智能應(yīng)用項(xiàng)目

    近日,江蘇潤和軟件股份有限公司(以下簡稱“潤和軟件”)憑借在AI領(lǐng)域深厚積淀、卓越工程能力及對金融數(shù)智化趨勢的精準(zhǔn)把握,中標(biāo)某農(nóng)商行AI服務(wù)器搭建及多場景智能應(yīng)用項(xiàng)目。此次中標(biāo)不僅印證了潤和軟件在金融AI應(yīng)用領(lǐng)域的技術(shù)領(lǐng)先性,更彰顯了在助力金融機(jī)構(gòu)數(shù)字化轉(zhuǎn)型
    的頭像 發(fā)表于 11-26 15:15 ?599次閱讀
    潤和軟件中標(biāo)某農(nóng)商行AI服務(wù)器<b class='flag-5'>搭建</b>及多場景智能應(yīng)用<b class='flag-5'>項(xiàng)目</b>

    歐盟CE-RED指令介紹

    歐盟CE-RED指令,全稱是RadioEquipmentDirective(無線電設(shè)備指令),指令編號為2014/53/EU,是歐盟針對所有帶無線發(fā)射功能設(shè)備制定的一項(xiàng)強(qiáng)制性法規(guī)。它是歐盟CE認(rèn)證
    的頭像 發(fā)表于 11-05 14:01 ?766次閱讀
    歐盟CE-<b class='flag-5'>RED</b>指令介紹

    ENV-Windows v2.0.0 問題答疑 | 技術(shù)集結(jié)

    目錄前言Q&A前言自從發(fā)布了ENV2.0新版本以來,受到了社區(qū)伙伴們的廣泛關(guān)注。然而,評論區(qū)中出現(xiàn)了許多問題。本文檔旨在統(tǒng)一回復(fù)并解決這些問題,幫助用戶更好地使用ENV2.0。Q&
    的頭像 發(fā)表于 10-26 10:03 ?409次閱讀
    <b class='flag-5'>ENV</b>-Windows v2.0.0 問題答疑 | 技術(shù)集結(jié)

    ENV 創(chuàng)建的工程如何燒錄?

    請問, 使用ENV 創(chuàng)建的工程, 如何使用DAPLink 燒錄
    發(fā)表于 10-10 08:20

    【匠芯創(chuàng)D133CBS KunLun Pi開發(fā)板試用體驗(yàn)】介紹、環(huán)境搭建

    WiFi Speaker 開發(fā)板動態(tài)展示效果見頂部視頻。 開機(jī)進(jìn)入系統(tǒng) 動態(tài)演示見底部視頻。 環(huán)境搭建 Luban-Lite SDK 是由ArtInChip設(shè)計的,旨在為系統(tǒng)級芯片(SoC
    發(fā)表于 09-17 10:35

    ubuntu下使用實(shí)體開發(fā)板搭建環(huán)境缺少env.sh怎么處理?

    在ubuntu環(huán)境下,安裝好gcc,scons,等工具,執(zhí)行scons --menuconfig能出現(xiàn)菜單, 但是在home目錄的.env文件夾下,只有l(wèi)ocal_pkgs、packages、tools三個文件夾,缺失env.sh文件,沒法執(zhí)行pkgs --update和
    發(fā)表于 09-10 07:33

    Windows上使用ENV工具開發(fā)基于先楫MCU的RT-Thread應(yīng)用

    前言Env是RT-Thread推出的開發(fā)輔助工具,針對基于RT-Thread操作系統(tǒng)的項(xiàng)目工程,提供編譯構(gòu)建環(huán)境、圖形化系統(tǒng)配置及軟件包管理功能。其內(nèi)置的menuconfig提供了簡單易用的配置剪裁
    的頭像 發(fā)表于 08-29 12:22 ?1493次閱讀
    Windows上使用<b class='flag-5'>ENV</b>工具開發(fā)基于先楫MCU的RT-Thread應(yīng)用

    如何選擇適合自己項(xiàng)目的通信協(xié)議評估工具?

    LZ-DZ200電能質(zhì)量在線監(jiān)測裝置 選擇適合項(xiàng)目的通信協(xié)議評估工具,核心是 對齊項(xiàng)目需求與工具能力 ,避免 “過度選型”(用高端工具測簡單場景)或 “功能不足”(用輕量工具測復(fù)雜協(xié)議)。以下是分步
    的頭像 發(fā)表于 08-27 09:19 ?756次閱讀
    如何選擇適合自己<b class='flag-5'>項(xiàng)目的</b>通信協(xié)議評估工具?

    樹莓派項(xiàng)目實(shí)戰(zhàn):車牌識別系統(tǒng)開發(fā)全記錄!

    介紹本項(xiàng)目的目標(biāo)是設(shè)計一個基于樹莓派微電腦的自動車牌識別系統(tǒng),用于控制停車場的道閘。為什么?我有一臺閑置的樹莓派,沒有參與任何項(xiàng)目,還有一臺攝像頭,以及一個潛在的問題點(diǎn)——辦公室停車場沒有自動化的道
    的頭像 發(fā)表于 06-11 17:22 ?1156次閱讀
    樹莓派<b class='flag-5'>項(xiàng)目</b>實(shí)戰(zhàn):車牌識別系統(tǒng)開發(fā)全<b class='flag-5'>記錄</b>!

    HarmonyOS實(shí)戰(zhàn):組件化項(xiàng)目搭建

    ?本文將詳細(xì)講解HarmonyOs組件化項(xiàng)目搭建的全過程,帶領(lǐng)大家實(shí)現(xiàn)一個組件化項(xiàng)目。 項(xiàng)目創(chuàng)建 首先創(chuàng)建一個
    的頭像 發(fā)表于 06-09 14:58 ?690次閱讀
    HarmonyOS實(shí)戰(zhàn):組件化<b class='flag-5'>項(xiàng)目</b><b class='flag-5'>搭建</b>