STM32 裸机 Blink 的坑 你确定你的向量表能跑起来 一句话:从零写一个 STM32F103 的裸机 Blink 很简单,但 binary 里的向量表字节顺序错了,你的芯片根本不会跑。前言很多嵌入式开发入门都是从 HAL 库或者标准外设库开始的 —— 点个灯,调个时钟,看个寄存器。这些都没问题,但如果你像我一样曾经好奇过"不用库,纯裸机能有多复杂",那你大概率会碰一下arm-none-eabi-gcc+ 裸机工程。上周我写了一个最精简的 STM32F103 Blink,main.c不到 30 行,startup 用纯汇编写的,linker script 自己手搓。整个工程编译通过,size一看才 120 字节,感觉稳了。结果用xxd看了一眼 hex 的前几字节 —— 发现向量表压根没在 binary 开头。这篇文章就是记录这个坑和它的解决方案。一、极简裸机工程长什么样先交代一下我在做什么。这是嵌软世界最经典的 Hello World:PC13 引脚接了一个 LED,低电平点亮。main.c#defineRCC_APB2ENR(*(volatileunsignedint*)0x40021018)#defineGPIOC_CRH(*(volatileunsignedint*)0x40011004)#defineGPIOC_ODR(*(volatileunsignedint*)0x4001100C)voiddelay(volatileunsignedintcount){while(count--);}intmain(void){/* 1. 使能 GPIOC 时钟(APB2 上的第 4 位) */RCC_APB2ENR|=(1l

相关新闻

最新新闻

sql练习生第一次记录

sql练习生第一次记录

601. 体育馆的人流量 困难 相关标签 相关企业 SQL Schema Pandas Schema 表:Stadium ------------------------ | Column Name | Type | ------------------------ | id | int | | visit_date | date | | people | int | …

2026/7/7 2:56:34
afdsa

afdsa

adsa

2026/7/7 2:56:34
如何快速上手Translumo:游戏屏幕实时翻译的终极指南

如何快速上手Translumo:游戏屏幕实时翻译的终极指南

如何快速上手Translumo:游戏屏幕实时翻译的终极指南 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 还在为外语…

2026/7/7 2:56:34
终极崩坏星穹铁道自动化助手:3步解放双手的游戏辅助神器

终极崩坏星穹铁道自动化助手:3步解放双手的游戏辅助神器

终极崩坏星穹铁道自动化助手:3步解放双手的游戏辅助神器 【免费下载链接】StarRailAssistant 崩坏:星穹铁道自动化 | 崩坏:星穹铁道自动锄大地 | 崩坏:星穹铁道锄大地 | 自动锄大地 | 基于模拟按键 项目地址: https://gitcode.c…

2026/7/7 2:56:34
微信聊天记录备份终极指南:3步轻松导出你的珍贵回忆

微信聊天记录备份终极指南:3步轻松导出你的珍贵回忆

微信聊天记录备份终极指南:3步轻松导出你的珍贵回忆 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾担心手机丢失后,那些与亲友的温馨对话…

2026/7/7 2:56:34
立创EDA边框层绘制避坑指南:解决3类Gerber导出“边框未闭合”错误

立创EDA边框层绘制避坑指南:解决3类Gerber导出“边框未闭合”错误

立创EDA边框层绘制避坑指南:解决3类Gerber导出“边框未闭合”错误在PCB设计流程中,边框层(Board Outline)的准确绘制是确保制造文件正确生成的关键一步。许多工程师在完成设计后导出Gerber文件时,常会遇到“边框未闭合…

2026/7/7 2:51:34

月新闻