update:stm32

This commit is contained in:
dichgrem
2025-11-17 12:05:04 +08:00
parent 1c22b82f58
commit 954182c59b
17 changed files with 176 additions and 3 deletions

View File

@@ -157,6 +157,7 @@
</span><span> </span><span style="color:#ffb964;">stlink-tool
</span><span> </span><span style="color:#ffb964;">gcc-arm-embedded
</span><span> </span><span style="color:#ffb964;">picocom
</span><span> </span><span style="color:#ffb964;">renode-bin
</span><span> ];
</span><span> };
</span><span> });
@@ -164,7 +165,7 @@
</span><span>}
</span></code></pre>
<h2 id="yuan-ma">源码</h2>
<p>使用Git拉取RT-Thread开源项目:</p>
<p>使用Git拉取项目源码</p>
<pre data-lang="shell" style="background-color:#151515;color:#e8e8d3;" class="language-shell "><code class="language-shell" data-lang="shell"><span>git clone https://github.com/RT-Thread/rt-thread.git
</span><span>git clone https://github.com/RT-Thread-Studio/sdk-bsp-stm32f407-spark.git
</span></code></pre>
@@ -316,6 +317,89 @@
</span><span> 98516 1468 8400 108384 1a760 rtthread.elf
</span><span>[100%] Built target rtthread.elf
</span></code></pre>
<h2 id="shi-yong-renode">使用Renode</h2>
<p>如果没有真实的开发版可以使用Renode来进行仿真模拟</p>
<pre data-lang="shell" style="background-color:#151515;color:#e8e8d3;" class="language-shell "><code class="language-shell" data-lang="shell"><span># 启动renode
</span><span>renode
</span><span>
</span><span># 创建机器
</span><span>(monitor) mach create
</span><span>
</span><span># 加载STM32F407平台
</span><span>(monitor) machine LoadPlatformDescription @platforms/boards/stm32f4_discovery.repl
</span><span>
</span><span># 加载你的固件
</span><span>(monitor) sysbus LoadELF @/你的路径/rtthread.elf
</span><span>
</span><span># 打开串口窗口finsh会显示在这里
</span><span>(monitor) showAnalyzer sysbus.usart1
</span><span>
</span><span># 启动仿真
</span><span>(monitor) start
</span></code></pre>
<blockquote>
<p>Renode 常用命令大全</p>
</blockquote>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#888888;"># 机器管理
</span><span style="color:#ffb964;">mach</span><span> add </span><span style="color:#556633;">&quot;</span><span style="color:#99ad6a;">名称</span><span style="color:#556633;">&quot; </span><span style="color:#888888;"># 创建新机器(指定名称)
</span><span style="color:#ffb964;">mach</span><span> create </span><span style="color:#888888;"># 创建新机器(自动命名)
</span><span style="color:#ffb964;">mach</span><span> set </span><span style="color:#556633;">&quot;</span><span style="color:#99ad6a;">名称</span><span style="color:#556633;">&quot; </span><span style="color:#888888;"># 切换到指定机器
</span><span style="color:#ffb964;">mach</span><span> set 0 </span><span style="color:#888888;"># 切换到编号0的机器
</span><span style="color:#ffb964;">mach</span><span> rem </span><span style="color:#556633;">&quot;</span><span style="color:#99ad6a;">名称</span><span style="color:#556633;">&quot; </span><span style="color:#888888;"># 删除机器
</span><span style="color:#ffb964;">mach</span><span> clear </span><span style="color:#888888;"># 清除当前选择
</span><span style="color:#ffb964;">mach </span><span style="color:#888888;"># 显示帮助信息
</span><span style="color:#ffb964;">emulation </span><span style="color:#888888;"># 查看仿真信息
</span><span>
</span><span style="color:#888888;"># 仿真控制
</span><span style="color:#ffb964;">start </span><span style="color:#888888;"># 启动仿真
</span><span style="color:#ffb964;">pause </span><span style="color:#888888;"># 暂停仿真
</span><span style="color:#ffb964;">quit </span><span style="color:#888888;"># 退出Renode
</span><span>
</span><span style="color:#888888;"># 帮助
</span><span>help </span><span style="color:#888888;"># 显示帮助
</span><span>help 命令名 </span><span style="color:#888888;"># 查看特定命令帮助
</span><span>
</span><span style="color:#888888;"># 加载固件
</span><span style="color:#ffb964;">sysbus</span><span> LoadELF @/path/to/firmware.elf </span><span style="color:#888888;"># 加载ELF文件
</span><span style="color:#ffb964;">sysbus</span><span> LoadBinary @/path/to/firmware.bin 0x8000000 </span><span style="color:#888888;"># 加载BIN到指定地址
</span><span>
</span><span style="color:#888888;"># 重置
</span><span style="color:#ffb964;">sysbus</span><span> Reset </span><span style="color:#888888;"># 重置系统总线
</span><span style="color:#ffb964;">machine</span><span> Reset </span><span style="color:#888888;"># 重置整个机器
</span><span>
</span><span style="color:#888888;"># 读取内存
</span><span style="color:#ffb964;">sysbus</span><span> ReadByte 0x20000000 </span><span style="color:#888888;"># 读1字节
</span><span style="color:#ffb964;">sysbus</span><span> ReadWord 0x20000000 </span><span style="color:#888888;"># 读2字节
</span><span style="color:#ffb964;">sysbus</span><span> ReadDoubleWord 0x20000000 </span><span style="color:#888888;"># 读4字节
</span><span>
</span><span style="color:#888888;"># 写入内存
</span><span style="color:#ffb964;">sysbus</span><span> WriteByte 0x20000000 0xFF
</span><span style="color:#ffb964;">sysbus</span><span> WriteWord 0x20000000 0x1234
</span><span style="color:#ffb964;">sysbus</span><span> WriteDoubleWord 0x20000000 0x12345678
</span><span>
</span><span style="color:#888888;"># 查看内存区域
</span><span style="color:#ffb964;">sysbus</span><span> FindSymbolAt 0x08000000 </span><span style="color:#888888;"># 查找地址对应的符号
</span><span>
</span><span style="color:#888888;"># 查看GPIO端口
</span><span style="color:#ffb964;">sysbus.gpioPortA
</span><span>
</span><span style="color:#888888;"># 设置GPIO状态
</span><span style="color:#ffb964;">sysbus.gpioPortA.0</span><span> Set true </span><span style="color:#888888;"># 设置PA0为高
</span><span style="color:#ffb964;">sysbus.gpioPortA.0</span><span> Set false </span><span style="color:#888888;"># 设置PA0为低
</span><span style="color:#ffb964;">sysbus.gpioPortA.0</span><span> Toggle </span><span style="color:#888888;"># 切换PA0状态
</span><span>
</span><span style="color:#888888;"># 读取GPIO状态
</span><span style="color:#ffb964;">sysbus.gpioPortA.0</span><span> State
</span><span>
</span><span style="color:#888888;"># 使用GDB调试
</span><span>(</span><span style="color:#ffb964;">monitor</span><span>) machine StartGdbServer 3333
</span><span style="color:#888888;"># 另一个终端
</span><span style="color:#ffb964;">arm-none-eabi-gdb</span><span> firmware.elf
</span><span>(</span><span style="color:#ffb964;">gdb</span><span>) target remote :3333
</span><span>(</span><span style="color:#ffb964;">gdb</span><span>) load
</span><span>(</span><span style="color:#ffb964;">gdb</span><span>) b main
</span><span>(</span><span style="color:#ffb964;">gdb</span><span>) c
</span></code></pre>
<hr />
<p><strong>Done.</strong></p>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
{"version":"1.3.0","languages":{"en":{"hash":"en_ed2b9b5593","wasm":"en","page_count":77}}}
{"version":"1.3.0","languages":{"en":{"hash":"en_53f3a95adf","wasm":"en","page_count":77}}}

Binary file not shown.