上周,我们注意到并尝试了非官方的树莓皮Pico Arduino内核在RP2040板上工作,包括树莓皮皮科。一切设置都非常早,blink的样品工作得很好。
但Arduino最近在推特上亚博体育官下载关于Arduino Core mbed 2.0版本,新增了树莓派RP2040板Arduino Nano RP2040连接和树莓皮皮卡板。
Arduino首先使用mbed因为他们没有北欧nRF52840 Cortex-M4微控制器的官方Arduino核心,而且似乎他们已经为树莓派RP2040做了同样的事情,后者的嵌入式实现本身依赖于C SDK。
让我们试一试,能有多难呢?我们可以找到在Github上发布和更新日志在主Github上有一些说明。
首先,我们可以将repo复制到sketchbook目录(参见Arduino IDE的首选项),在我的例子中是~/Arduino:
1
2
3.
|
mkdir
-
p
~
/
Arduino
/
硬件
/
arduino
-
git
cd
~
/
Arduino
/
硬件
/
arduino
-
git
/
git
克隆
https
:
/ / github.com/arduino/ArduinoCore-mbed mb
|
我们还需要克隆ArduinoCore-API:
1
2
|
git
克隆
https
:
/ / github.com/arduino/ArduinoCore-API
ln
-
年代
~
/
ArduinoCore
-
API
/
api
mb
/
核
/
arduino
/
api
|
然后我可以去板管理器,寻找mbed,然后我安装了“Arduino mbed OS RP2040板”
然后我可以选择覆盆子π皮科以及连接到的端口:/dev/ ttyacm0。
blink样本可以构建,但样本无法上传到板上。
我尝试了两个Raspberry Pi Pico板,但都以同样的方式失败了,而它们与非官方的Arduino核心端口工作得很好。在Ubuntu 20.04连接板后查看内核日志:
1
2
3.
4
5
6
7
|
[
19281.103834
]
usb
1
-
1
:
新
完整的
-
速度
USB
设备
数量
11
使用
xhci
_hcd
[
19281.279258
]
usb
1
-
1
:
新
USB
设备
发现
,
idVendor
=
2 e8a
,
idProduct
=
000年,一个
,
bcdDevice
=
1.00
[
19281.279263
]
usb
1
-
1
:
新
USB
设备
字符串
:
生产商
=
1
,
产品
=
2
,
SerialNumber
=
3.
[
19281.279265
]
usb
1
-
1
:
产品
:
PicoArduino
[
19281.279267
]
usb
1
-
1
:
制造商
:
树莓
π
[
19281.279269
]
usb
1
-
1
:
SerialNumber
:
E6605838833D8338
[
19281.315348
]
疾病预防控制中心
_acm
1
-
1
:
1.0
:
ttyACM0
:
USB
ACM
设备
|
ttyACM0设备被正确检测到:
1
2
3.
4
|
英国电信
-
l
港口
|
年龄
(
证券交易委员会
)
|
设备
|
司机
|
描述
--
--
--
+
--
--
--
--
--
--
+
--
--
--
--
--
--
+
--
--
--
--
--
--
--
--
--
+
--
--
--
--
--
--
--
--
--
--
--
*
0
|
46
|
ttyACM0
|
cdc_acm
|
董事会
疾病预防控制中心
|
但是试图将固件闪存到板上,在BOOT模式下重新启动,串口就消失了,而Pico分区(RPI-RP2)被挂载:
1
2
3.
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
[
19354.726744
]
usb
1
-
1
:
USB
断开连接
,
设备
数量
11
[
19354.729182
]
疾病预防控制中心
_acm
1
-
1
:
1.0
:
失败的
来
集
dtr
/
即时战略游戏
[
19355.005594
]
usb
1
-
1
:
新
完整的
-
速度
USB
设备
数量
12
使用
xhci
_hcd
[
19355.173187
]
usb
1
-
1
:
新
USB
设备
发现
,
idVendor
=
2 e8a
,
idProduct
=
0003
,
bcdDevice
=
1.00
[
19355.173192
]
usb
1
-
1
:
新
USB
设备
字符串
:
生产商
=
1
,
产品
=
2
,
SerialNumber
=
3.
[
19355.173196
]
usb
1
-
1
:
产品
:
RP2
引导
[
19355.173199
]
usb
1
-
1
:
制造商
:
树莓
π
[
19355.173201
]
usb
1
-
1
:
SerialNumber
:
E0C912D24340
[
19355.175326
]
usb
-
存储
1
-
1
:
1.0
:
USB
质量
存储
设备
检测到
[
19355.175506
]
scsi
host2
:
usb
-
存储
1
-
1
:
1.0
[
19356.183622
]
scsi
2
:
0
:
0
:
0
:
直接
-
访问
零售物价指数
RP2
1
魁人党
:
0
ANSI
:
2
[
19356.184049
]
sd
2
:
0
:
0
:
0
:
附加
scsi
通用的
sg2
类型
0
[
19356.184363
]
sd
2
:
0
:
0
:
0
:
[
署
]
262144
512
-
字节
逻辑
块
:
(
134
MB
/
128
MiB
)
[
19356.185221
]
sd
2
:
0
:
0
:
0
:
[
署
]
写
保护
是
从
[
19356.185223
]
sd
2
:
0
:
0
:
0
:
[
署
]
模式
感觉
:
03
00
00
00
[
19356.187259
]
sd
2
:
0
:
0
:
0
:
[
署
]
没有
缓存
模式
页面
发现
[
19356.187266
]
sd
2
:
0
:
0
:
0
:
[
署
]
假设
开车
缓存
:
写
通过
[
19356.217512
]
署
:
sdc1
[
19356.221243
]
sd
2
:
0
:
0
:
0
:
[
署
]
附加
SCSI
可移动的
磁盘
|
此时,Arduino IDE应该将UF2文件复制到分区,但这并没有发生。但我发现在树莓派论坛上解决.我找到了uf2文件/ tmp / arduino *:
1
2
3.
4
5
6
7
8
9
10
11
12
13
|
jaufranc
@
cnx
-
移动PC
-
4
:
/
tmp
/
arduino_build_781291
$
ls
-
l
总计
5824
-
rwxrwxr
-
x
1
jaufranc
jaufranc
89672
4月
12
16
:
45
眨眼
.
伊诺
.
箱子
-
rwxrwxr
-
x
1
jaufranc
jaufranc
1567000
4月
12
16
:
45
眨眼
.
伊诺
.
精灵
-
rw
-
rw
-
r
--
1
jaufranc
jaufranc
179712
4月
12
16
:
45
眨眼
.
伊诺
.
精灵
.
uf2
-
rw
-
rw
-
r
--
1
jaufranc
jaufranc
252290
4月
12
16
:
45
眨眼
.
伊诺
.
十六进制
-
rw
-
rw
-
r
--
1
jaufranc
jaufranc
4047278
4月
12
16
:
45
眨眼
.
伊诺
.
地图
-
rw
-
r
--
r
--
1
jaufranc
jaufranc
1852
4月
12
16
:
45
构建
.
选项
.
json
drwxr
-
xr
-
x
2
jaufranc
jaufranc
4096
4月
12
16
:
45
核心
-
rw
-
r
--
r
--
1
jaufranc
jaufranc
449
4月
12
16
:
45
包括
.
缓存
drwxr
-
xr
-
x
2
jaufranc
jaufranc
4096
4月
12
16
:
45
库
drwxr
-
xr
-
x
2
jaufranc
jaufranc
4096
4月
12
16
:
45
preproc
drwxr
-
xr
-
x
2
jaufranc
jaufranc
4096
4月
12
16
:
45
草图
|
并把它复制到驱动器上
1
|
cp
眨眼
.
伊诺
.
精灵
.
uf2
/
媒体
/
jaufranc
/
零售物价指数
-
RP2
/
|
我看到板上的LED在闪烁。所以这是一个初步的移植,也许可以解释为什么Arduino只是发了一条推文,而不是写一篇博文宣布Arduino Core mbed 2.0在RP亚博体育官下载2040板上的发布。

Jean-Luc于2010年开始兼www.yabo188.vip职创办CNX软件,2011年辞去软件工程经理的工作,开始全职撰写每日新闻和评论。
你还没试过
https://github.com/Wiz-IO/wizio-pico
那为什么不用mbed呢?,its not that much harder to learn then Arduino.
目前,Arduino已经发表了一篇关于Arduino Core Mbed 2亚博体育官下载.0的博客文章。
https://blog.arduino.cc/2021/04/27/arduino-mbed-core-for-rp2040-boards/