用ARM处理器来开发ARM微控制器。
为什么想这么做?
学校要教汇编语言,搞不懂为什么偏偏要用德州仪器的TM4C123单片机来教,这个板子也可以称得上是老古董了。老师要求用ARM Keil MDK编程,在烧录代码的地方用到了一个叫ICDI的驱动,这个驱动TI官方只给了i386版本和amd64版本,M芯片的Mac的话是没法直接安装的。
我实在是不想背着4斤重的游戏本去教室上课,续航甚至顶不住一节课,于是乎就有了本文。
一些尝试
得益于ARM丑到爆的32位Keil MDK和德州仪器老掉牙的32位仿真包,这些软件都是可以直接在Arm版Windows里转译运行的,在PD虚拟机里如果你适当降低一些DPi还可以获得一个非常合适的缩放比例,非常丝滑。编辑保存、编译代码、仿真调试都可以完成,但是只有烧录因为驱动问题不行。
我特意去E2E上问了一下TI的工程师,啊不出所料没用。
解决方法
MacOS上还有一个开源的虚拟机叫UTM,这个虚拟机可以直接转译运行x86_64的windows系统,在转译的系统里安装好Keil、ICDI等等软件包就可以正常编译、烧录代码了。
不过转译运行整个系统的效率非常低,用起来很卡很烫,建议在PD虚拟机里进行编辑和仿真调试,最后烧录的时候再到UTM里面。
安装实践
如果你是富哥富姐,你的Mac配置贼高的话,那你就直接从微软官网上下个iso镜像从头安装,转译会影响很多性能,这个安装过程可能会非常慢。
如果你像我一样比较poor,建议从网上下载一个别人安装好了的,精简版的Windows7、8的UTM镜像。注意要精简版和老一点的系统,这样转译时的压力少一些。考虑到系统是别人弄的,不确定有没有在里面藏一些坏东西,强烈建议你在装好软件后把网卡Ban调。那没有网络里要怎么传文件进去呢?很简单,找个U盘,实体机和虚拟机来来回回挂载就ok了,反正也得接拓展坞是吧。