欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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, 涉及到有兩個(gè)配置文件,分別是 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è)架構(gòu)類似的處理器的工程,然后復(fù)制修改替換,保證編譯通過

閱讀整個(gè)系統(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)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9180

    瀏覽量

    369493
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11352

    瀏覽量

    210539
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    401

    瀏覽量

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

    關(guān)注

    1

    文章

    306

    瀏覽量

    23847
收藏 人收藏

    評論

    相關(guān)推薦

    基于HPM_SDK_ENV開發(fā)應(yīng)用程序的升級處理

    基于HPM_SDK_ENV開發(fā)應(yīng)用程序的方式HPM_SDK_ENV是先楫半導(dǎo)體MCU的Windows集成開發(fā)環(huán)境,其包含HPM_SDK,工具鏈,依賴工具(cmake,ninja,openocd等
    的頭像 發(fā)表于 02-08 13:38 ?531次閱讀
    基于HPM_SDK_<b class='flag-5'>ENV</b>開發(fā)應(yīng)用程序的升級處理

    EasyExcel碰到問題記錄

    = workbook.createFont(); redFont.setColor(IndexedColors.RED.getIndex()); if (richStringCellValue instanceof
    的頭像 發(fā)表于 01-13 13:34 ?72次閱讀

    SSM開發(fā)環(huán)境的搭建教程 SSM與Spring Boot的區(qū)別

    SSM開發(fā)環(huán)境的搭建教程 SSM(Spring+SpringMVC+MyBatis)開發(fā)環(huán)境的搭建涉及多個(gè)步驟,以下是詳細(xì)的教程: 創(chuàng)建Maven項(xiàng)目 : 使用Maven工具創(chuàng)建一個(gè)新的Maven
    的頭像 發(fā)表于 12-16 18:13 ?697次閱讀

    ARM控制器與Node-Red:獲取氣象網(wǎng)站數(shù)據(jù)

    在當(dāng)今工業(yè)物聯(lián)網(wǎng)(IoT)蓬勃發(fā)展的背景下,企業(yè)和開發(fā)者們不斷尋求更智能的方式來管理和控制工業(yè)設(shè)備。Node-Red作為一種強(qiáng)大的可視化編程工具,簡化了物聯(lián)網(wǎng)應(yīng)用程序的開發(fā)過程,使得即使是編程新手也能快速搭建起復(fù)雜的數(shù)據(jù)流網(wǎng)絡(luò)。
    的頭像 發(fā)表于 09-21 10:40 ?364次閱讀
    ARM控制器與Node-<b class='flag-5'>Red</b>:獲取氣象網(wǎng)站數(shù)據(jù)

    利用ARMxy邊緣計(jì)算機(jī)BL340與Node-Red實(shí)現(xiàn)LED設(shè)備的開閉控制

    搭建了一個(gè)高效的原型開發(fā)與測試平臺。本文將帶您走進(jìn)BL340系列與Node-Red的結(jié)合應(yīng)用,探索如何通過這一組合控制設(shè)備執(zhí)行Linux指令,進(jìn)而控制設(shè)備上的LED狀態(tài)。 一、Node-Red Node-
    的頭像 發(fā)表于 08-15 14:12 ?333次閱讀
    利用ARMxy邊緣計(jì)算機(jī)BL340與Node-<b class='flag-5'>Red</b>實(shí)現(xiàn)LED設(shè)備的開閉控制

    ESP_MESH_LITE項(xiàng)目在menuconfig中修改MESH_ID無效的原因?

    ESP_MESH_LITE項(xiàng)目在menuconfig中修改MESH_ID無效,只有執(zhí)行erase_flash才能修改成功,似乎MESH_ID第一次配置之后存在了flash里面,修改sdkconfig內(nèi)容無效?
    發(fā)表于 07-19 07:29

    求助,關(guān)于搭建ESP mesh lite組網(wǎng)遇到的問題求解

    最近想用ESP32做一個(gè)物聯(lián)網(wǎng)項(xiàng)目,需要用 ESP mesh lite 進(jìn)行一個(gè)組網(wǎng),但是在寫程序時(shí)遇到了一些問題,首先我用的是Arduino編寫的程序,我遇到的第一個(gè)疑惑是,當(dāng)我建立mesh組網(wǎng)
    發(fā)表于 06-28 06:44

    Node-RED初學(xué)者教程-三分鐘學(xué)習(xí)

    通過這短短三分鐘的教程,你已經(jīng)掌握了Node-RED的基本操作。你可以利用Node-RED的強(qiáng)大功能來創(chuàng)建更復(fù)雜的數(shù)據(jù)流和自動化任務(wù),無論是物聯(lián)網(wǎng)應(yīng)用、API集成還是數(shù)據(jù)處理。Node-RED簡化了編程
    的頭像 發(fā)表于 06-27 17:09 ?3264次閱讀
    Node-<b class='flag-5'>RED</b>初學(xué)者教程-三分鐘學(xué)習(xí)

    ENV-Windows v2.0.0版本發(fā)布

    ENV-Windows v2.0.0版本發(fā)布
    的頭像 發(fā)表于 06-26 08:35 ?891次閱讀
    <b class='flag-5'>ENV</b>-Windows v2.0.0版本發(fā)布

    Node-RED安裝本地教程

    Node-RED是一個(gè)基于流的開發(fā)工具,廣泛應(yīng)用于物聯(lián)網(wǎng)(IoT)、家庭自動化和其他數(shù)據(jù)驅(qū)動的應(yīng)用程序。它通過圖形化的編程界面,使得非專業(yè)程序員也能輕松上手。本文將介紹如何在本地環(huán)境中安裝Node-RED,幫助你快速開始項(xiàng)目開發(fā)
    的頭像 發(fā)表于 06-24 12:10 ?2307次閱讀
    Node-<b class='flag-5'>RED</b>安裝本地教程

    Node-RED實(shí)現(xiàn)電表數(shù)據(jù)采集并上云

    容器實(shí)現(xiàn)邊緣采集”。前文指引:《【教程】圖文詳解!Docker容器實(shí)現(xiàn)邊緣采集》首先需要搭建Node-RED運(yùn)行環(huán)境,可以參考以往案例,也可以直接百度搜索,接下來
    的頭像 發(fā)表于 06-07 08:21 ?2991次閱讀
    Node-<b class='flag-5'>RED</b>實(shí)現(xiàn)電表數(shù)據(jù)采集并上云

    分享 | PTP、NTP時(shí)間同步服務(wù)器的部署與搭建過程

    分享 | PTP、NTP時(shí)間同步服務(wù)器的部署與搭建過程
    的頭像 發(fā)表于 05-15 10:01 ?1150次閱讀
    分享 | PTP、NTP時(shí)間同步服務(wù)器的部署與<b class='flag-5'>搭建</b><b class='flag-5'>過程</b>

    SOLIDWORKS教育版使學(xué)生了解如何加快設(shè)計(jì)項(xiàng)目的速度

    在當(dāng)今信息爆炸的時(shí)代,設(shè)計(jì)項(xiàng)目的速度和效率對于工程專業(yè)的學(xué)生來說至關(guān)重要。SOLIDWORKS教育版作為一款專門為學(xué)生設(shè)計(jì)的3D CAD軟件,不僅提供了強(qiáng)大的設(shè)計(jì)工具,更致力于幫助學(xué)生了解如何加快設(shè)計(jì)項(xiàng)目的速度,提升他們的設(shè)計(jì)能力和效率。
    的頭像 發(fā)表于 04-09 16:00 ?362次閱讀

    硬件測試服務(wù)項(xiàng)目的重要性和作用

    服務(wù)項(xiàng)目的定義與重要性 硬件測試服務(wù)項(xiàng)目是對硬件設(shè)備(如結(jié)構(gòu)、PCBA、關(guān)鍵部件等)進(jìn)行差錯(cuò)檢查的過程,旨在保證產(chǎn)品的質(zhì)量和性能。在硬件產(chǎn)品開發(fā)過程中,測試是不可或缺的一環(huán),它能夠幫助
    的頭像 發(fā)表于 03-28 09:54 ?867次閱讀
    硬件測試服務(wù)<b class='flag-5'>項(xiàng)目的</b>重要性和作用

    OpenHarmony 移植:build lite 編譯構(gòu)建過程

    這些疑惑,會對 build lite 編譯構(gòu)建過程有個(gè)更深入的理解。 1、產(chǎn)品解決方案代碼是如何被調(diào)用編譯的 在文件 buildliteBUILD.gn 配置文件中的構(gòu)建目標(biāo) //build/lite
    的頭像 發(fā)表于 02-19 16:19 ?1021次閱讀