摘要:
有个小项目,用什么MCU无所谓,所以我想试试已经1年多没用的STM32,这么长时间没关注她,竟然多出来那么多系列,我还是使用103系列,这次我用的是STM32F103VCT6,主要是因为她有DAC,我需要,还因为她有USB,虽然我的小项目目前没有用到,但我想以后扩展功能,需要用到,再加上她不到20... 阅读全文
摘要:
不进入__main,一样能跑程序,因为__main实现的功能,我们自己也都能实现。至于怎么做,看我在最后转的帖子,看完你就了解了。所谓C库,就是一堆写好的C代码,比如你上面说的malloc,这些代码有的是封装好的(能调用但看不到源码),有的是没封装的(能调用能看源码)。 __main() 和 mai... 阅读全文
摘要:
__Main 在软件仿真的情况下,执行“B __main”指令,能使程序跳到C文件的main函数,但用硬件仿真时,还没执行到main函数时就进入了异常中断。原因是执行“B __main”指令后,程序先跳到__main库函数的入口,再进行一些初始化操作,最后再跳入用户的main函数。但在初始化过程中,... 阅读全文
摘要:
相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的启动方式有了比较大的变化。ARM7/ARM9内核的控制器在复位后,CPU会从存储空间的绝对地址0x000000取出第一条指令执行复位中断服务程序的方式启动,即固定了复位后的起始地址为0x000000(PC = 0x000... 阅读全文
摘要:
1 ;先在RAM中分配系统使用的栈,RAM的起始地址为0x2000_0000 2 ;然后在RAM中分配变量使用的堆 3 ;然后在CODE区(flash)分配中断向量表,flash的起始地址为0x0800_0000,该中断向量表就从这个起始地址开始分配 4 ;分配完成后,再定义和实现相... 阅读全文