Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2265131
  • 博文数量: 187
  • 博客积分: 1457
  • 博客等级: 上尉
  • 技术积分: 2423
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-13 09:41
个人简介

如需要绘制PCB,设计电路可以和我联系。sunhenu@163.com.

文章分类

全部博文(187)

文章存档

2017年(2)

2016年(2)

2015年(7)

2014年(13)

2013年(80)

2012年(83)

分类: LINUX

2012-12-01 13:49:30

以前用IAR,正点原子提供的是MDK开发环境,我重新建立了一个IAR5.30工程,使用MDK库函数版本。拷贝MDK库函数版本工程到一个工程目录下就好了,见下图。几个icf文件要从其他地方考过来,不难的startup_stm32f10x_hd.s文件要使用IAR格式的,在IAR安装目录中有MDK,GCC,IAR三种格式的,需要使用IAR格式。
IAR开发环境设置。
这里要选择FULL ,不然会出现FILE not found 的错误。
上面的红圈很重要,第一个是头文件目录,必须要设置,工程下所有用到的.h文件
第二个是宏定义,USE_STDPERIPH_DRIVER和STM32F10X_HD必须要添加,VECT_TAB_SRAM是正点原子工程中设置中断向量表到SRAM和FLASH中的宏定义,我使用SRAM调试,就需要定义这个宏了。
这里也很重要,这是设置SRAM和FLASH文件,我使用sram调试就利用SRAM那个icf文件了。
这是main.c文件,Systeminit();是我加上去的,如果不加好像也没有啥影响,不过在流水灯程序中如果不加,LED闪烁时间变慢,没有在MDK中的快。所以,以后的工程,我都把这句加上了。
这是下载code到SRAM中的map文件,可以看到是下载到SRAM中,这样就可以调试了,
上面说的是利用正点原子的库函数版本的程序,移植到IAR中的步骤,
但是,我更喜欢使用寄存器版本的程序,因为条理和思路清晰,容易理解。下面步骤是将寄存器程序移植到IAR中的,步骤和上面一样,但是要修改system.c文件,见下图,其中需要几句汇编,在IAR中是利用asm(“XXXX”);来声明嵌入汇编的。
下面是需要修改usart.c的文件,注释掉前面的#if 1,但是sys_exit()和重定义的fputc()需要保留。

然后寄存器版本的程序就可以移植到IAR5.30中了。
下图是在SRAM中调试寄存器版本的LCD测试程序界面。

阅读(20269) | 评论(0) | 转发(1) |
0

上一篇:AVR解锁

下一篇:STM32 UART2程序

给主人留下些什么吧!~~