542|1

339

帖子

0

资源

一粒金砂(高级)

【微雪RP2040双核开发板】从MicroPython切换到arduino [复制链接]

1、RP2040的丰富开发环境中,Arduino是一个不可缺少的选择。因为采用了独特的bootloader,所以和其他的arduino兼容开发板稍微有些不同。在开始之前,首先要下载安装Arduino,最新的Arduino已经切换到了2.x的版本,原来的1.x版本都还正常,这个2.x版本采用了新的框架,和VScode有相似的地方,不过,看起来就不是很传统和舒服,而且编译速度好像也有些慢。不过,跟紧潮流还是要用最新的。

图片.png

然后需要安装开发板支持环境,首先需要设定,开发板的源

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

图片.png   然后就可以在开发板的Board manager管理器中找到RP2040选项,安装即可。可以看到,支持的衍生类型非常多

图片.png

2、连接开发板

在Arduino中连接开发板有3个选项,genetic,pico-probe,pico-debug。如果不是特殊需要调试的功能,选择genetic通用的 就可以的。

图片.png 这次是一次成功,直接把arduino的范例程序编译后的二进制文件直接下载到RP2040,所以显示成功,没有报错。但是,实际上,总是有很大概率不成功的。对此,官网有个解决方法。

就是依次选择Sketch>Export Comile Sketch,这样就生产了标准的二进制文件,在Sketch>Show Sketch Folder ,打开所在目录,这里出现了其他arduino目录不曾出现的build目录

图片.png   build目录下有多个格式的二进制文件,RP2040使用的是uf2格式的,

图片.png   在不能直接下载成功的情况下,就需要手动按boot键,进入boot模式,把这个uf2文件拖曳进去,就可以起到下载的作用、

这个流程其实最主要的是展示了RP2040的编译过程,就是对于C++ 语言,就是编译成uf2格式的二进制文件,然后用内部的软指令,启动一个boot模式的下载过程,然后自举重启,实现了自动执行的过程。

3、关于使用arduino的开发

因为RP2040开放的是标准的UART,PIO,SPI,I2C接口,因此,所有的开发代码,都可以从MicroPython逐行对照翻译过去,实现相同的功能。基本上不需要特殊的代码库,也不需要MicroPython所需要的Machine Class 类,用Arduino的底层驱动可以直接完成。

使用基本的UART访问控制代码

// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = 2;

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  // make the pushbutton's pin an input:
  pinMode(pushButton, INPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input pin:
  int buttonState = digitalRead(pushButton);
  // print out the state of the button:
  Serial.println(buttonState);
  delay(1);        // delay in between reads for stability
}

显示下载成功

图片.png 4、 通过上述的操作,可以用更普及的Arduino进行开发,实现更多的功能。不过,其中关于thread访问双核的功能就无法实现的。因为暂时,还没有支持双核的库。这样的过程,可以用arduino开发出兼顾开发便捷和编译效率的代码。

此帖出自移动便携论坛

回复

2921

帖子

3

资源

版主

楼主那是多才多艺,帖子写得非常好,学习了!
此帖出自移动便携论坛

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

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

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

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

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

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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