当前位置: 首页 > article >正文

在树莓派 Pico 上运行 AWTK

本文档只在 MacOS 上验证过,Ubuntu 请根据情况自行调整。

在这里插入图片描述

0. 安装环境

  • cmake
brew install cmake
  • openocd
brew install openocd
  • arm-none-eabi-gcc

用 brew 安装的版本会出现如下错误:

arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory

用 arm 官方的版本没有问题。

cd ~/Downloads
wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-darwin-arm64-arm-none-eabi.tar.xz

cd /opt
sudo tar xf ~/Downloads/arm-gnu-toolchain-13.3.rel1-darwin-arm64-arm-none-eabi.tar.xz
  • arm-none-eabi-gdb
brew install arm-none-eabi-gdb
  • minicom
brew install minicom

1. 下载源码

  • 下载 awtk-pico
https://github.com/zlgopen/awtk-pico.git
  • 进入 awtk-pico 目录
cd awtk-pico
  • 下载 pico-sdk
git clone https://github.com/raspberrypi/pico-sdk.git 3rd/pico-sdk
  • 下载 awtk
git clone https://github.com/zlgopen/awtk.git src/awtk

2. 编译

  • 编译 awtk
cd src/awtk
scons
cd -
  • 生成 demo 资源
cd src/demos/hello
python scripts/update_res.py all
cd -
  • 编译 pico 固件

请编辑 build_rp2040.sh,修改 PICO_TOOLCHAIN_PATH 为实际路径。

./build_rp2040.sh

3. 烧录

  • 方法 1

    按住按钮,插上电源。 会加载一个磁盘分区,把固件拷贝到该磁盘分区。完成后,会自动重启。

  • 方法 2

使用 openocd 烧录。

./upload.sh ./build_rp2040/src/demos/app.elf

4. 调试

请确认连接了 pico debug probe。

  • 启动 openocd
./start_debug.sh 
  • 启动 gdb
./debug.sh 

5. 硬件说明

测试所用显示屏的尺寸为 3.5 寸,分辨率为 480x320,微雪 出品,如果使用其它硬件, 代码需要做相应调整。

注意事项

  • 为了将字体和图片等资源数据编译到代码中,需要修改示例项目的 project.json 文件:
 "const": "all_data",

参考:src/demos/hello/project.json

7. 参考资源

  • https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html
  • https://blog.csdn.net/absurd/article/details/144340608
  • https://www.waveshare.net/wiki/Pico-ResTouch-LCD-3.5
原文地址:https://blog.csdn.net/absurd/article/details/144626776
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/446336.html

相关文章:

  • spark——RDD算子集合
  • Kafka核心参数与使用02
  • 新时期下k8s 网络插件calico 安装
  • RK3568 Android 13 内置搜狗输入法小计
  • Python入门教程 —— 网络编程
  • Nature Electronics——近传感器计算:50 nm异构集成技术的革命
  • WPF DataTemplate 数据模板
  • wordpress调用指定分类ID下 相同标签的内容
  • 日本IT行业|分享实用的开发语言及框架
  • 电商环境下的财务ERP系统架构
  • 机器学习之假设空间
  • java 集合对象
  • JAVA获取高德地图信息
  • 【时间之外】IT人求职和创业应知【71】-专利费
  • 数据仓库有哪些?
  • Debian 10上使用UFW设置防火墙
  • 【C++】list模拟实现
  • 授权模型MAC
  • Transform组件的用法
  • QML 中的键盘事件
  • python实现Word转PDF(comtypes、win32com、docx2pdf)
  • 如何与AI对话,写好Prompt
  • ffmpeg翻页转场动效的安装及使用
  • xlua中自定义lua文件加载的一种方式
  • 金融信息系统多活技术-应用策略
  • 实现Python将csv数据导入到Neo4j