【树莓派Pico测评】1.不用MicroPython和C++开发Pico
[复制链接]
本帖最后由 tjCFeng 于 2021-3-23 13:38 编辑
冬去春来,在跨过了新年之后,Pico终于来了。这是我第一次在EEWorld上申请开发板,非常感谢能够入选,可以在EEWorld上开始新的试用历程。RPI Pico的RP2040是一个新东西,性能还算不错,虽然比起ESP32无论是从价格还是配置上都略逊一筹,但是独有的PIO功能是一个亮点,后面会重点来学习一下,也许以后的单片机都会加上这个功能的。目前Pico售价4美元,排除其他的东西RP2040大约折合RMB20元左右。这一档次的单片机国内很多,随便挑出一个PK一下
RPI Pico主打的开发方式是MicroPython,开发起来确实很方便,直接源代码下载即可运行。但是由于先天的限制,MicroPython占用的内存多了一些,需要在单片机中嵌入一个解释器,同时MicroPython是解释性的语言,性能上肯定会有一些影响。RPI Pico也提供了C++的开发方式,尝试了安装,只在CLion上成功了,VSCode上没有成功,要设置的地方太多,到目前为止很不方便,期待以后有更好的插件之类的东西。
在尝试了RPI Pico的C++之后,偶然间发现了FreePascal也能编译Pico的程序,一下子勾起了我的兴趣。在学习嵌入式开发之前,做了十多年的Delphi程序,感情很深,也算是一种情怀。自从Borland公司给Pascal加上了OOP特性之后,Delphi就从一种工具转变成了一种语言,虽然由于商业的原因, Delphi随着Borland公司没落了,但Delphi的一些理念到现在为止也是很先进的。好汉不提当年勇,收费的Delphi逐渐隐匿,免费的FreePascal来了,IDE名字叫Lazarus,辣子肉丝。Lazarus的方向和Delphi不同,不仅在语法上和Delphi 99%兼容,在各种平台上也是号称一次编写到处编译,也就是说,写完一个程序,无论是在Win、Linux、MAC下都可以编译成本地可执行文件,而且在Android、iOS上也可以,最最主要的是和Pico相关,嵌入式的ARM也不在话下。
不管是情怀也好,还是为Pico多增加个开发方式也好,我食言了,本来打算要用C++来封装库的,现在准备用Pascal来做,而且用类来实现,调用起来会更方便一些。这里再多说一点,Pascal是编译型的语言,本身效率和C差不多,肯定会比MicroPython、Lua之类的的要高,还能支持Debug在线调试,所以只要使用方便,性能上可以放心。
转入正题,安装Lazarus。Lazarus提供了各个平台的二进制文件,但是还有更方便的安装方法,先到下载fpcupdeluxe安装工具
运行后先在左上角选择一下要安装的路径,再点击下面的“Pico”按钮
剩下的就是等待了,不用做任何的操作,直到安装完成。
安装之后会在桌面上创建一个快捷方式,运行它
一个很古老的模仿Delphi7的分离式的IDE出来了,上面还有一个窗体。此时点一下左上角的绿三角,就可以得到一个带有界面的Windows程序了,这个程序不需要任何的运行库支持就可以在Win95~Win10的各种系统中运行。同理在Linux下、MAC下也是如此。当然这个窗体和Pico没有关系,Pico也不可能显示出窗体来。
如果这个分离模式用着不习惯没关系,可以设置一下,顺便把IDE的语言改成中文。
中文的设置不用说了,就在菜单的“工具->选项”里,也有其他的设置按照自己的习惯来。融合模式没有在设置里,在菜单的“包->安装/卸载包”,选中“anchordocking”和“anchordockingdsgn”两项,然后点击“安装->保存并重新编译IDE”,完成后自动重启,样子就变了。
这样就顺眼多了吧。打开Lazarus的安装文件夹
四个文件就650多M,是不是太大了。不用害怕,有办法。其中Lazarus.old.exe可以直接删掉,这是刚才重新编译时的备份文件,已经不需要了。然后再fpc文件夹下找到strip.exe拷过来,不用执行,按住鼠标把大文件拖到strip.exe上
其他的文件同样如此,再看看现在的大小
可以接受了吧。
到此为止,IDE的设置就算完成了,下面还干什么?到中把例程下载下来并解压,先打开最简单的blinky工程
这里有一堆东西,有用的只有两个。lpi文件是工程文件,lpr文件是工程代码,所以要打开lpi。几个lpi对应rp2040的一系列开发板,咱们用的是Pico,当然要打开pico的lpi。刚才安装IDE没有关联文件,直接选择Lazarus.exe来打开。
打开之后先不考虑代码,直接点击菜单“运行->构建”,瞬间编译完成,提示成功。成功之后有什么变化呢?
在blinky下多了个bin的文件夹,需要的文件都在里面,uf2文件应该很熟悉了吧。现在要验证编译结果了。
把Pico插到电脑的USB上,识别到一个新分区。同其他开发方法一样,把这个uf2文件拖进去,效果立现
灯闪了。
至此从安装Lazarus到设置到编译再到运行一条龙结束,还算简单吧,没有需要输入的东西,关键是拼网速,尤其是github、svn之类的,被墙住了会大大影响安装速度,想办法自己翻吧。
(完)
|