准备工作
- 获取源码
以下两者并列放在同一个目录,如果用户有自己的项目,也建议与以下两者并列放在同一目录。
1 | git clone https://github.com/zlgopen/awtk.git |
- 配置 scons 交叉编译工具链,在 awtk-linux-fb 目录创建 awtk_config_define.py 文件
1 | # awtk_config_define.py |
如果不需要 tslib,不定义 TSLIB_LIB_DIR 和 TSLIB_INC_DIR 即可。如:
1 | # awtk_config_define.py |
详情可以看 scons help,或者可以通过 scons EXPORT_DEFINE_FILE=./awtk_config_define.py 导出一个完整的 awtk_config_define.py 文件。
- 配置设备文件路径,方法二选一:
配置 config/devices.json 文件,详情请看 config/readme.md 文档。
修改 awtk-port/main_loop_linux.c 文件设置输入输出设备的文件名。
- 配置设备文件路径,方法二选一:
1 | // main_loop_linux.c |
备注:
可通过 “hexdump /dev/input/xx” 命令识别正确的触摸或鼠标设备文件名。触摸设备也可以通过tslib自带的命令测试,如 “ts_test”、”ts_print”。
注意:在有些平台下,如果设置 “/dev/input/mice”,会出现触摸不灵的问题。通过 hexdump /dev/input/mice 命令发现,该设备文件会同时接收触摸和鼠标事件,这种情况请不要使用该设备。
生成并部署AWTK内置DemoUI
- 请先安装 scons,并完成上面的准备工作
- 在命令行输入:
1 | cd /home/user/awtk-linux-fb |
- 等待编译成功,生成发布压缩包,在命令行输入:
1 | sh ./release.sh |
- 等待发布完成后,在 awtk-linux-fb 目录下会出现 release.tar.gz 的压缩包,该压缩包就是发布包
- 运行
把 release.tar.gz (发布包)上传到开发板,并解压,然后运行:
1 | # 程序运行可能要依赖awtk的so文件,如运行失败请尝试设置so文件的绝对路径 |
生成并部署用户自己的应用程序
- 请先安装 scons,并完成上面的准备工作
- awtk 与用户的程序目录结构如下所示
1 | /home/user/ |
输入命令行命令:
1 | cd /home/user/awtk-linux-fb |
等待编译成功,生成发布压缩包,在命令行输入:
1
./release.sh ../user_apps/HelloDesigner-Demo/res demo
等待发布完成后,在 awtk-linux-fb 目录下会出现 release.tar.gz 的压缩包,该压缩包就是发布包
运行
把 release.tar.gz (发布包)上传到开发板,并解压,然后运行:
1 | # 程序运行可能要依赖awtk的so文件,如运行失败请尝试设置so文件的绝对路径 |
文档
其他问题
1. 项目路径
默认情况下,scons 脚本假设以下文件夹在同一个目录。
1 | zlgopen |
2. 使用 Direct Rendering Manager (DRM)
缺省使用 framebuffer,如果使用 DRM,请修改 awtk_config_define.py,指定 LCD_DEVICES 和 drm 的路径。
1 | LCD_DEVICES = 'drm' |
DRM 目前只在虚拟机中测试过,如果有问题请参考 awtk-port/lcd_linux_drm.c 进行调试。
3. 使用 EGL 硬件加速
缺省使用 framebuffer,如果使用 EGL,请参考文档 how_to_use_egl.md。
4. 上传文件到开发板的方法
如果开发板支持 ssh,可以使用 scp 命令上传文件或文件夹,比如上传文件:
1 | # 开发板ip:192.168.1.136 |
上传文件夹:
1 | # 创建文件夹 ./release 中所有文件到 /opt/awtk 目录 |
- 感谢您的赞赏