5105|13

58

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

【树莓派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之类的,被墙住了会大大影响安装速度,想办法自己翻吧。
(完)

最新回复

可惜了神奇,没好爹   详情 回复 发表于 2021-6-2 17:55
点赞(1) 关注(3)
 

回复
举报

662

帖子

0

TA的资源

纯净的硅(初级)

沙发
 

很久没有看到 Pascal 语言的相关信息了,感谢楼主分享。

点评

谢谢  详情 回复 发表于 2021-3-23 11:36
 
 

回复

58

帖子

1

TA的资源

一粒金砂(中级)

板凳
 
slotg 发表于 2021-3-23 11:26 很久没有看到 Pascal 语言的相关信息了,感谢楼主分享。

谢谢

 
 
 

回复

1131

帖子

17

TA的资源

纯净的硅(高级)

4
 

不错,学习了

 
 
 

回复

1万

帖子

2854

TA的资源

管理员

5
 

有意思。难得看到不太一样的做法

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

1455

帖子

1

TA的资源

五彩晶圆(初级)

6
 

能把该软件发上来吗?省了大家翻墙了!

点评

太大了,压缩完1.5G。  详情 回复 发表于 2021-3-24 12:31
 
 
 

回复

58

帖子

1

TA的资源

一粒金砂(中级)

7
 
jinglixixi 发表于 2021-3-24 10:13 能把该软件发上来吗?省了大家翻墙了!

太大了,压缩完1.5G。

 
 
 

回复

1455

帖子

1

TA的资源

五彩晶圆(初级)

8
 

哦,还是不小呀!

点评

是呀,这个工具会把所有的源代码下载下来然后编译生成IDE和编译器的可执行文件,所以会很大,但是保证是最新版本的。也可以直接下载Lazarus的安装文件和对应的编译器直接安装应该就会小很多,也就几百兆,我还没有试  详情 回复 发表于 2021-3-24 13:24
 
 
 

回复

58

帖子

1

TA的资源

一粒金砂(中级)

9
 
jinglixixi 发表于 2021-3-24 13:06 哦,还是不小呀!

是呀,这个工具会把所有的源代码下载下来然后编译生成IDE和编译器的可执行文件,所以会很大,但是保证是最新版本的。也可以直接下载Lazarus的安装文件和对应的编译器直接安装应该就会小很多,也就几百兆,我还没有试过,感兴趣的话可以试一下。

 
 
 

回复

1455

帖子

1

TA的资源

五彩晶圆(初级)

10
 

知道了,暂时先用Thonny吧。

 
 
 

回复

7452

帖子

2

TA的资源

五彩晶圆(高级)

11
 

Delphi7 好怀念。

点评

道友好!Delphi真简洁好用  详情 回复 发表于 2021-6-2 10:58
道友好  详情 回复 发表于 2021-3-25 14:59
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

58

帖子

1

TA的资源

一粒金砂(中级)

12
 

道友好

 
 
 

回复

196

帖子

0

TA的资源

一粒金砂(中级)

13
 

道友好!Delphi真简洁好用

点评

可惜了神奇,没好爹  详情 回复 发表于 2021-6-2 17:55
 
 
 

回复

7452

帖子

2

TA的资源

五彩晶圆(高级)

14
 
leifengfirst 发表于 2021-6-2 10:58 道友好!Delphi真简洁好用

可惜了神奇,没好爹

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表