赞
踩
实例更改stm32起始执行地址为0x08010000,使用cubemx 生成工程,配置好串口1和时钟,
修改要点:
1,将icf文件中的__ICFEDIT_intvec_start__从默认的0x08000000改为0x08010000


2,VECT_TAB_OFFSET改为0x10000
全局查找VECT_TAB_OFFSET,或者从启动s文件中的Reset_Handler找到SystemInit,VECT_TAB_OFFSET就在SystemInit函数的末尾如图

找到定义,然后修改值,

如果是RO文件不可修改的话,在工程目录中选择该文件右键打开菜单选择file properties...,然后去掉只读的勾选。之后就可以修改了。

main函数如下,使用iar进行download and debug,
- /* USER CODE BEGIN 2 */
- printf("diy8 demo\r\n");
- /* USER CODE END 2 */
-
- /* Infinite loop */
- /* USER CODE BEGIN WHILE */
- while (1)
- {
- HAL_Delay(1000);
- printf("uart test\r\n");
-
- /* USER CODE END WHILE */
-
- /* USER CODE BEGIN 3 */
- }
- /* USER CODE END 3 */

串口的打印信息如图可以看到0x8010000处已经正常烧写了内容,而0x8000000处依旧是空的


Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。