STM32学习问题篇(一)

        51单片机学了不少,是时候再深入学一些其他的,选择学习STM32是因为学习资源丰富,通用性强,芯片的性能也很强大。正所谓“工欲善其事,必先利其器”。硬件设备直接买最小系统来玩,配置相关的软件环境呗。

        软件版本为Keil MDK4.12,为了也兼容51就再装C51了,这时候问题就来了,说找不到编译文件,无法编译目标项目。由于这篇文章后面才写了,我那时没有截图,忘了具体的错误提示是什么。后面再网上找了一下,有一种情况和我的情况相同,是由于装了ARM再装51,说是导致编译器出现异常了,我就全部删掉重新安装就好了。果然我是学渣,现在要好好做好记录,养成良好习惯。这是遇到的第一个问题。

        1.错误:

        CORE\startup_stm32f10x_md.s(1): error: A1167E: Invalid line start

         。。。。。。。。。后面还有很多
,在网上搜了一下,有说是编码方式不对,要将文件由 UTF-8 编码改为 ANSI 编码,这方法我不敢想,好多个文件要改,太麻烦了。也有说是编译器不能识别注释。

        解决办法:

             MDK的在工程上点右键,选择options,选择Asm选项,在Misc Controls框框中输入 --cpreproc

        意思所在汇编armasm编译汇编代码之前先用armcc将代码中C注释预编译掉

             参考:http://www.xuebuyuan.com/1554024.html

        

       2.错误:

       CORE\startup_stm32f10x_md.s(41): error: A1163E: Unknown opcode _sidata , expecting opcode or Macro

       解决办法:

       在错误代码对应位置前加TAB,不能定格

      

       3.错误:

       CORE\startup_stm32f10x_md.s(31): error: A1137E: Unexpected characters at end of line

       解决办法:

       在网上找了很多方法都不行。。。。。头都大了。困了,睡醒第二天晚上重新新建项目,一次成功!是因为新装软件重新启动才正常?还是新建项目的步骤出现问题?我觉得是后者,所以解决不了的问题,重来一遍吧

你可能感兴趣的:(STM32学习问题篇(一))