最近接了一个新任务, 用stm32h745i双核单片机来升级一款老的设备, 用里面的cortex-m4核来做显示, cortex-m7来做计算 看上去是不是很爽歪歪,,哈哈
大佬给了一些时间让先熟悉下这个新家伙, 然后给了我官方出的开发板stm32745i-disco, 还有配套的一些资料 后面主要用到的就是STM32Cube_FW_H7_V1.8.0这个开发包 ,还有原理图,芯片手册 这些都可以在官网下载到
STM32Cube_FW_H7_V1.8.0这个包里面的东西很全,example文件夹里面包含了大部分的示例程序 ,了解就从运行这些示例程序开始了
开发板的使用还是比较方便的,板子上自带了st-link 通过micro usb口连接电脑 就可以烧写调试程序,而且这个usb同时把调试串口给支持了,,很给力
环境搞好了 就开始跑里面的示例程序 就这样折腾一段时间 对这个双核是怎么一起运行的也有了一些理解
1 双核是真的双核 同时跑了两个系统 ,烧写代码也要烧写两次,分别烧写到flash的不同地址空间中 然后每个核会有自己的片内sram 不大
2 外设是共有的, 外设的归属 是看时钟使能是在那个CPU上执行的
3 示例中有个共同的地方 m4启动后 开启hsem的通知 然后就进入了stopmode, m7启动后 把时钟配置好 然后先获取下hsem 然后释放 ,
这里为啥要这么干了,,,,就是为了实现一个时间同步,,,因为m4不进入stopmode 可能m7那边的时钟配置都还没有完成, m4就开始操作一些外设了 这样就会出问题 所以还是要等等
那这里跟hsem这个东东有啥关系呢 进入stopmode后 m4的唤醒 就是靠m7对hsem的获取和释放操作 具体为啥这样就能唤醒 还得仔细看手册 ,,,头大
先写这写了 后面在补充