摘要: 有个小项目,用什么MCU无所谓,所以我想试试已经1年多没用的STM32,这么长时间没关注她,竟然多出来那么多系列,我还是使用103系列,这次我用的是STM32F103VCT6,主要是因为她有DAC,我需要,还因为她有USB,虽然我的小项目目前没有用到,但我想以后扩展功能,需要用到,再加上她不到20... 阅读全文
posted @ 2013-01-08 22:03 afeibfp 阅读(1310) 评论(0) 推荐(0) 编辑
摘要: 不进入__main,一样能跑程序,因为__main实现的功能,我们自己也都能实现。至于怎么做,看我在最后转的帖子,看完你就了解了。所谓C库,就是一堆写好的C代码,比如你上面说的malloc,这些代码有的是封装好的(能调用但看不到源码),有的是没封装的(能调用能看源码)。 __main() 和 mai... 阅读全文
posted @ 2013-01-08 15:08 afeibfp 阅读(835) 评论(0) 推荐(0) 编辑
摘要: __Main 在软件仿真的情况下,执行“B __main”指令,能使程序跳到C文件的main函数,但用硬件仿真时,还没执行到main函数时就进入了异常中断。原因是执行“B __main”指令后,程序先跳到__main库函数的入口,再进行一些初始化操作,最后再跳入用户的main函数。但在初始化过程中,... 阅读全文
posted @ 2013-01-08 13:01 afeibfp 阅读(1390) 评论(0) 推荐(0) 编辑
摘要: 相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的启动方式有了比较大的变化。ARM7/ARM9内核的控制器在复位后,CPU会从存储空间的绝对地址0x000000取出第一条指令执行复位中断服务程序的方式启动,即固定了复位后的起始地址为0x000000(PC = 0x000... 阅读全文
posted @ 2013-01-08 00:43 afeibfp 阅读(1137) 评论(0) 推荐(0) 编辑
摘要: 1 ;先在RAM中分配系统使用的栈,RAM的起始地址为0x2000_0000 2 ;然后在RAM中分配变量使用的堆 3 ;然后在CODE区(flash)分配中断向量表,flash的起始地址为0x0800_0000,该中断向量表就从这个起始地址开始分配 4 ;分配完成后,再定义和实现相... 阅读全文
posted @ 2013-01-08 00:22 afeibfp 阅读(11491) 评论(0) 推荐(1) 编辑
摘要: 例如:STM32F103C6T7xxxSTM32 – F – 103 – C – 6 – T – 7 – xxx 第1部分:产品系列名,固定为STM32第2部分:产品类型;F表示这是Flash产品,目前没有其它选项第3部分:产品子系列;103表示增强型产品,101表示基本型产品105表示集成一个全速... 阅读全文
posted @ 2013-01-07 23:32 afeibfp 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 采用移位减法的算法。源码如下: 1 ;////////////////////////////////////////////////////////////////////////////// 2 ;函数: div_u24_u8 3 ;描述: 无符号双字节除以单字节 4 ;入口:... 阅读全文
posted @ 2011-09-23 12:18 afeibfp 阅读(1039) 评论(0) 推荐(0) 编辑
摘要: 采用移位减法的算法。源码如下: 1 ;////////////////////////////////////////////////////////////////////////////// 2 ;函数: div_u16_u8 3 ;描述: 无符号双字节除以单字节 4 ;入口:... 阅读全文
posted @ 2011-09-22 16:50 afeibfp 阅读(2961) 评论(0) 推荐(0) 编辑