‘壹’ 编译器KEIL,板子是STM32,ARM7的
1,我使用的是STM32103(ARM7),不过我使用的是IAR编译器,有点慢。
2,但设置和初始化中断方式是一样的。见下:
////////enable INT on PCXX//////////////////
/////////Configure EXTI LineXX to generate an interrupt on falling edge //////////
3,EXTI4_IRQHandler我这里好象没有这个通道,可能是你使用管脚不一样吧!
‘贰’ STM32的程序是下载到哪里去的
下载程序到片内Flash不一定会占用所有的空间,看你程序多大,没有占用的片内Flash空间是可以用作别的用途的;如果读写的是存放程序的空间,那程序数据就被修改了。另外程序存储空间与你设置的启动模式有关,共有三种,具体参照用户手册。
‘叁’ stm32f429的程序在哪里运行
STM32F103有的功能407都有,并且这些功能的引脚完全兼容,只是程序不同而已。。。 而STM32F407有的功能103不一定有,因为407强大些。。。。。。希望对你有用
‘肆’ stm32 用什么编译器好
应该IAR好很多。
同样的ucosII本家的移植代码Micrium-ST-uCOS-II-LCD-STM32,
用里面自带的keil工程和IAR工程编译,
都设置为最大尺寸优化,
keil的编译结果:
Program Size: Code=27562 RO-data=4870 RW-data=196 ZI-data=9240
FLASF占用:Code+RO-data+RW-data = 27562 +4870 +196 = 32628字节
RAM占用:RW-data+ZI-data = 196 + 9240 = 9436字节
IAR的编译结果:
13 730 bytes of readonly code memory
5 618 bytes of readonly data memory
8 636 bytes of readwrite data memory
FLASF占用:13 730 + 5 618 = 19348字节
RAM占用:8 636字节
KEIL比IAR占用FLASH多:32628- 19348 = 13280字节
‘伍’ 大家好,想知道ST最新出来的STM32F030系列MCU用什么编译器,以及库。不知道的别瞎说。。。
MDK IAR都可以的。
‘陆’ 写stm32程序用什么编辑器比较好
一般是IAR或者Keil。
若是网上下载的程序,人家是什么建立的工程,你就得用什么开发工具。
要是你处于全部自己设计的话,建议使用你熟悉的最好。
一般学生因为在学习51单片机时接触Keil更多,要是你在校生,就建议你用Keil。
若是工作搞项目,Keil和IAR也是各自一半吧,还是看习惯,两者功能和性能上没有太大差别,各有各的优势。我现在就看中IAR的某些优势,就觉得IAR更好。
‘柒’ 下载了一个stm32的程序,在哪里打开它
如果你装有KEIL MDK集成开发环境,直接打开工程文件就可以了。
懒得打字了,就是从上往下数第九个文件。
‘捌’ stm32开发板用什么软件编程
下载芯片资料
也就是你选的这款单片机的datasheet。先看看资料,起码你要弄懂这款单片机的频率,RAM大小,ROM大小,管脚多少,封装什么样,有多少外设,都有什么功能,可以拿来做什么?
开始看硬件资料
此时你手中应该有开发板或者自己画的电路板,STM32系列的单片机。我们要看看电路图,都留出了哪些IO和哪些功能比如AD或者串口,都接了什么。假如是开发板的话可以看开发板的资料。
熟悉软件界面
此时你应该装好一个编译器,keil或者IAR等能够给STM32系列单片机编程的编译器。安装后,打开编译器熟悉界面和功能。如添加文件,编译,调试等功能怎么使用。
示例代码
为什么说STM32单片机比较好入手那?就是因为它有很多的示例代码,都是好用的,稍加修改就可以了。此时你就可以一个一个示例过目了。比如看一个控制IO口的。然后读一读怎么控制的,对照我们的硬件看看我们应该控制哪个IO口能点亮一个LED灯或者做其它的事儿。
下载调试
改好代码后,编译链接,用仿真器将代码下载到我们的目标板或者在线调试都可以(前提仿真器驱动已经安装完毕)。下载后就可以看到我们想要的结果了。如果结果不对,就要在线调试了,看看哪里改错了。
‘玖’ stm32中的堆栈地址在哪里定义的
在你的工程文件夹的.map文件里查找__initial_sp 所对应的就是堆栈的起始地址 这是编译器自动分配的
从startup_stm32f4xx.s里可以看到堆栈的大小 一般栈为1024Byte 堆为512Byte
‘拾’ stm32汇编,gcc编译器求教
看你的编译器,但是 M3 这个内核比较新,在旧版本的 gcc 上会没有针对这个 CPU 的支持。 M3 好像有部分指令不支持,如果你的编译器不支持,编译出来的程序会不能正常运行。 这东西不是随便找个几百年前的东西,就能支持新硬件的。