当前位置: 首页> 书评> 正文

基于PROTEUS的ARM虚拟开发技术《我是ARM菜鸟,但我还是要评论》

  • 小小评论家小小评论家
  • 书评
  • 2023-03-26 16:58:17
  • 54

我承认我本科时的单片机和DSP课都没好好上,C语言也几乎忘得一干二净,汇编语言更是望而却步。现在毕业设计的内容涉及ARM,所以我急需一本专为菜鸟编写的入门级教材来引导我进入ARM的世界。Proteus软件的出现无疑为众多买不起ARM开发套件的穷学生带来了福音,而这本《基于PROTEUS的ARM虚拟开发技术》也正是市面上仅有的一两套介绍Proteus中ARM模块使用的教材之一。

书的条理还是很清晰的,但仔细看过部分章节后发现小错误真可谓星罗棋布,仿真程序例子也是问题多多。首先来列一些我发现的错误,只是存在于看过的部分。

P13,“外部晶振”改为“外部晶体”似乎更合适

P43,Vss和Vssa的“低”应改为“地”

P98,Vssd应改为Vss

P51和P55,到底是U0LCR还是U0CLR?应该是前者吧,U1LCR也是同样问题

P126,“在匹配时复位TC或产生中断”,“或”是不是应该改为“并”?

P138,注释写的是“在15MHz时钟下”,请加上“VPB时钟”好不好?

P150,main函数上面的注释写错了,怎么还会是puthex()?

P163,“不指定”应该改为“指定”

P223,怎么既有Fclk又有Fcclk?

P223,这里写的是14.745MHz,但后面P226页配置的却是11.0592MHz

。。。。。。

书的重点应该是后面几章里的电路仿真程序,很可惜的是,这些内容似乎并不是作者自己编写的,而是几乎照搬了开发工具软件里的实验例子(至少Keil的例子是这样),然后再把C语言程序的英文注释翻译成中文。所以我在Keil和RealView的程序例子里分别看了两种不同的C语言编写风格,也就是说作者并没有用心去编写一段属于自己的代码。更要命的是,作者只列出了几个主程序的例子,一些关于头文件的说明完全没有交代,这样只能让初学的菜鸟一头雾水。即使把代码写齐,程序也是没法跑起来的,因为GNU编译器里需要的Flash.ld链接脚本文件我也找不到,最后还是从Keil的例子里复制过来才解决问题。

既然程序例子能在开发工具里或者网上找到,那么这本书的价值就不太大了。希望有后人能认真编写一本关于Proteus中ARM模块使用的书籍,我觉得只要是ARM玩得好的学生都应该能写出比这本书强的东西来。

阅读全文