使用hbird-e-sdk编译demo_nice工程时,通常需要对demo_nice.c文件进行以下关键修改(具体取决于硬件平台和功能需求):
// 在main函数或初始化代码中修改
SystemClock_Config(); // 函数内部调整时钟分频
或
#define SYSTEM_CLOCK_FREQUENCY 8000000 // 示例:8MHz晶振 // 例如LED引脚修改
#define LED_GPIO_PORT GPIOA
#define LED_PIN GPIO_PIN_5 // 原PA1改为PA5 UART_Init(UART0, 115200); // 原UART1改为UART0 void EXTI0_IRQHandler(void) { ... } // 确保名称与startup文件一致 #define MY_PERIPHERAL_BASE (0x10000000) // 外设基地址变更 SPI_InitTypeDef spi;
spi.Mode = SPI_MODE_MASTER; // 主从模式配置 // #define DEBUG // 注释掉全局调试宏 // 原开发板LED操作替换
LED_ON(); // 修改为新的宏或函数检查时钟树
在SystemClock_Config()中确认PLL分频系数与实际硬件匹配。
对照引脚分配表
核对所有GPIO/I2C/SPI引脚与原理图一致。
串口回环测试
添加简单测试代码验证串口:
UART_SendData(UART0, 'A'); // 发送测试字符查看链接脚本
确认hbird.ld中的内存区域与芯片规格一致。
提示:
- 优先参考
hbird-e-sdk/board目录下对应开发板的示例代码
- 使用
make upload BOARD=hbird_devkit指定开发板配置
- 调试时启用
-Og -g3编译选项保留调试信息
典型修改后的差异示例:
- #define LED_PIN GPIO_PIN_1
+ #define LED_PIN GPIO_PIN_5 // 适配HBird开发板
- UART_Init(UART1, 9600);
+ UART_Init(UART0, 115200); // 使用主串口
- // #error "Define your system frequency here!"
+ #define SYS_CLOCK_FREQ 16000000 // 16MHz晶振建议通过git diff记录所有改动,便于后续移植到新硬件平台时快速对比调整。
举报
更多回帖