@jr_online
板上 adbd 有没有运行?
Posts made by whycan
-
Reply: xfel烧录不了32M nor flash
@shz18877605430
可能测试没有覆盖到这个flash,如果您只要烧前面16M的话,可以直接改一下这个程序代码,添加flash id即可。 -
Reply: Ubuntu16.04 LVGL8 framebuffer & sdl2 开发/调试
虚拟机whycan用户密码: whycan
调试 fb 版本 lvgl8 先执行:
sudo chmod 777 /dev/fb0 /dev/input/event*切换到Framebuffer:
CTRL + ALT + F1切换到UI:
CTRL + ALT + F7 -
Ubuntu16.04 LVGL8 framebuffer & sdl2 开发/调试
Ubuntu16.04 LVGL8 framebuffer & sdl2 开发/调试
虚拟机百度云盘下载:https://pan.baidu.com/s/1gOk2NCm7TuSZxzIy9mFtAg?pwd=awol
-
Reply: t113移植gslX680触摸驱动
@jacky502
也不一定不能用,看起来只是加载固件没过,看下 eventX 设备没有生成,然后用 getevent 或者 evtest 测试。如果还是不行,联系供应商要驱动文件吧。
-
Reply: v853 开发板 使用 i2cdetect 检查 i2c 设备,报错 incomplete xfer status: 0x48,
@wxid_disxysjskla
可以的,grep一下代码,暴力一点就直接注释起来。文明一点就看下是不是受什么宏控制,把宏定义开启或者关闭。
-
Reply: v853 开发板 使用 i2cdetect 检查 i2c 设备,报错 incomplete xfer status: 0x48,
又一个被骗的,那个只是提示信息,不是错误信息。
把loglevel的等级提高估计没了。
-
Windows/Linux 给 lvgl8 添加本地文件系统支持。
转载: LVGL V8之使用PC文件系统驱动适配lvgl文件系统
注册lvgl文件系统
void init_fs_config(void) { static lv_fs_drv_t pcfs_drv; /*A driver descriptor*/ lv_fs_drv_init(&pcfs_drv); pcfs_drv.user_data = NULL; pcfs_drv.letter = 'P'; pcfs_drv.ready_cb = pcfs_ready; pcfs_drv.write_cb = pcfs_write; pcfs_drv.open_cb = pcfs_open; pcfs_drv.close_cb = pcfs_close; pcfs_drv.read_cb = pcfs_read; pcfs_drv.seek_cb = pcfs_seek; pcfs_drv.tell_cb = pcfs_tell; lv_fs_drv_register(&pcfs_drv); }
文件系统是否准备好被回调函数pcfs_ready
bool pcfs_ready(lv_fs_drv_t* drv) { (void)drv; /*Unused*/ return true; //这里仅返回true,如果是嵌入式,则是返回嵌入式文件系统挂载成功与否的标志 }
打开文件被回调的函数pcfs_open
static void* pcfs_open(lv_fs_drv_t* drv, const char* fn, lv_fs_mode_t mode) { (void)drv; /*Unused*/ errno = 0; const char* flags = ""; if (mode == LV_FS_MODE_WR) flags = "wb"; else if (mode == LV_FS_MODE_RD) flags = "rb"; else if (mode == (LV_FS_MODE_WR | LV_FS_MODE_RD)) flags = "a+"; /*Make the path relative to the current directory (the projects root folder)*/ char buf[256]; sprintf(buf, "./%s", fn); return fopen(buf, flags); }
写入文件被回调的函数pcfs_write
static lv_fs_res_t pcfs_write(struct _lv_fs_drv_t* drv, void* file_p, const void* buf, uint32_t btw, uint32_t* bw) { (void)drv; /*Unused*/ *bw = (uint32_t)fwrite(buf, 1, btw, file_p); return LV_FS_RES_OK; }
读取文件被回调的函数pcfs_read
static lv_fs_res_t pcfs_read(lv_fs_drv_t* drv, void* file_p, void* buf, uint32_t btr, uint32_t* br) { (void)drv; /*Unused*/ //pc_file_t* fp = file_p; /*Just avoid the confusing casings*/ *br = (uint32_t)fread(buf, 1, btr, file_p); return LV_FS_RES_OK; }
关闭文件被回调的函数pcfs_close
static lv_fs_res_t pcfs_close(lv_fs_drv_t* drv, void* file_p) { (void)drv; /*Unused*/ return fclose(file_p); }
移动文件位置被回调的函数pcfs_seek
static lv_fs_res_t pcfs_seek(lv_fs_drv_t* drv, void* file_p, uint32_t pos,lv_fs_whence_t whence) { (void)drv; /*Unused*/ return fseek(file_p, pos, whence); }
获取文件位置被回调的函数pcfs_tell
static lv_fs_res_t pcfs_tell(lv_fs_drv_t* drv, void* file_p, uint32_t* pos_p) { (void)drv; /*Unused*/ *pos_p = ftell(file_p); return LV_FS_RES_OK; }
初时化调用init_fs_config函数
init_fs_config();
加载外部图片
lv_obj_t* obj = lv_img_create(lv_scr_act()); lv_img_set_src(obj, "P:/lock_icon.bin"); lv_obj_center(obj);
效果图
加载外部字体需要匹配读取数据函数
static uint8_t __g_font_buf[364];//如bin文件存在SPI FLASH可使用此buff static uint8_t *__user_font_getdata(int offset, int size){ //如字模保存在SPI FLASH, SPIFLASH_Read(__g_font_buf,offset,size); //如字模已加载到SDRAM,直接返回偏移地址即可如:return (uint8_t*)(sdram_fontddr+offset); lv_fs_file_t file; lv_fs_res_t result; result = lv_fs_open(&file, "P:/myFont.bin", LV_FS_MODE_RD); if (result != LV_FS_RES_OK) return NULL; lv_fs_seek(&file, offset, LV_FS_SEEK_CUR); uint32_t len; lv_fs_read(&file, __g_font_buf, size, &len); lv_fs_close(&file); return __g_font_buf; }
使用外部字显示
lv_obj_t* obj = lv_btn_create(lv_scr_act()); lv_obj_set_size(obj, 300, 300); lv_obj_center(obj); lv_obj_t* label = lv_label_create(obj); lv_obj_set_style_text_font(label, &_myFont, 0); lv_label_set_text(label, "外部字体测试"); lv_obj_center(label);
中文内容需要utf-8格式编译
#pragma execution_character_set("utf-8") `
-
Reply: 真离谱:使用主线Buildroot编译Tina Linux系统,然后使用全志官方PhoenixSuit烧写SPI NAND
在楼主的耐心帮助下,终于编译打包成功!
找到编译出错的原因了, 我用了电脑里面已有的 dl/ 目录,这里面的 linux/git/ 和 uboot/git 与楼主的环境冲突。 删除这些冲突目录就好了。
-
Reply: tina编译突然莫名其妙的报错
建议用Ubuntu16.04, 这里有干净版本ubuntu16.04虚拟机下载:
-
Reply: tina编译突然莫名其妙的报错
@jinxiangwzh
find 命令值得拥有。find $PWD -name libpthread.so.0* -type f
-
Reply: tina编译突然莫名其妙的报错
@whycan
依葫芦画瓢:$ grep cp -r package/ --include "Makefile" |grep libpthread package/qt/qt5/Makefile: DEPENDS:=+librt +zlib +libstdcpp +libinput +libpthread +glib2 @!LINUX_2_6 package/lang/node/Makefile: DEPENDS:=+libpthread +librt +libstdcpp +libopenssl +libuv package/network/alljoyn/alljoyn/Makefile: DEPENDS:=+libopenssl +libpthread +librt +libstdcpp +libcap package/network/iotivity/Makefile: DEPENDS:=+iotivity +libpthread +libstdcpp package/allwinner/liballwinner-ipc/Makefile: DEPENDS:=+libpthread +libstdcpp package/allwinner/homlet/libvop/Makefile: DEPENDS:=+libpthread +libstdcpp package/allwinner/homlet/p2p_utils/Makefile: DEPENDS:=+libpthread +libstdcpp package/allwinner/homlet/p2p_utils/Makefile: DEPENDS:=+libpthread +libstdcpp package/allwinner/softap/Makefile: DEPENDS:=+libpthread +libstdcpp +liballwinner-base +libopenssl +iw +hostapd +dnsmasq +iptables package/allwinner/usb-gadget/Makefile: DEPENDS:=+libpthread +libstdcpp package/allwinner/dlna-service/Makefile: DEPENDS:=+libpthread +libstdcpp +liballwinner-base +liballwinner package/allwinner/peq/Makefile: DEPENDS:=+libpthread +libstdcpp +liballwinner-base +libopenssl +iw +alsa-utils package/allwinner/logwrapper/Makefile: DEPENDS:=+libpthread +libstdcpp package/allwinner/dlna_demo/Makefile: DEPENDS:=+libpthread +libstdcpp +liballwinner-base +liballwinner +dlna-service package/allwinner/wifimanager/Makefile: DEPENDS:=+libpthread +libstdcpp +liballwinner-base package/allwinner/bluetooth/Makefile: DEPENDS:=+libpthread +librt +alsa-lib +resample +libuci +libstdcpp package/allwinner/smartlinkd/Makefile: DEPENDS:=+libpthread +libstdcpp +liballwinner-base +alsa-lib +libopenssl +libuci package/libs/libdirectfb/Makefile: DEPENDS:=+libstdcpp +tslib +libpng +libjpeg +libpthread +libfreetype +libsysfs +flux package/libs/boost/Makefile: DEPENDS:=+libstdcpp +libpthread +librt package/libs/libglog/Makefile: DEPENDS:= +libstdcpp +libpthread +libunwind package/libs/icu/Makefile: DEPENDS:=+libstdcpp +libpthread package/routing/mcproxy/Makefile: DEPENDS:=+libpthread +libstdcpp @(!GCC_VERSION_4_4&&!GCC_VERSION_4_6) $ $
-
Reply: tina编译突然莫名其妙的报错
@jinxiangwzh
修改 package/busybox-init-base-files 目录下面的 Makefile 文件, 增加一个复制 libc.so.6, libpthread.so.0的shell指令。 -
解决 github.com 不通畅问题
Windows 修改 C:\Windows\System32\drivers\etc\hosts
Linux 修改 /etc/hosts 添加:140.82.112.4 github.com 199.232.69.194 github.global.ssl.fastly.net 185.199.108.153 assets-cdn.github.com 185.199.110.153 assets-cdn.github.com 185.199.111.153 assets-cdn.github.com
-
Reply: 给D1 SDK 添加一个简单的helloworld package
CATEGORY:=Utilities 指的是 make menuconfig 的第一级菜单。
-
Reply: 解决串口终端显示文件列表乱码的问题
然后再改一下 VFAT 的默认字符集,或者:
修改 /etc/usbmount/usbmount.conf
参考: https://community.volumio.org/t/utf-8-support-solved/196/2
/etc/usbmount/usbmount.conf 改成:
FS_MOUNTOPTIONS="-fstype=vfat,iocharset=utf8,gid=root,dmask=0777,fmask=0777"
-
Reply: 解决串口终端显示文件列表乱码的问题
用这个命令生成 patch文件:
diff -uNr file file > diff. patch diff -uNr file2 file2 >> diff. patch
patch文件下载, 复制到 buildroot 的 package/busybox 目录下面:
-
Reply: D1 tina 打包出来的sdk能用吗
@yuzukitsuru
可能只是单纯想把sdk导出到别的电脑,openwrt确实有这功能,tina估计砍了。 -
Reply: MQ-Pro overlay挂载的问题
UDISK分区可能是pack打包程序生成,也可能是烧录软件生成的,也可能是运行的时候脚本生成的,我还不确定。
-
Reply: D1S/T113根文件系统分区在哪里设置?
@suitjune
sys_partition.fex 里面的rootf size要比buildroot里面的size大才行,否则pack的时候会出错。 -
Reply: 芒果派麻雀到手试玩
@jr_online
还要配置 uboot-board.dts。
linux的驱动和 board.dts 暂时可以不用配置。重新编译boot命令: mboot
-
Reply: D1哪吒板开发入门,开箱即食,有带SDK的虚拟机下载
哪吒开发板原理图: D1哪吒开发板原理图20210224.pdf
哪吒开发板元件标号图:开发板元器件标号图
D1 Brief : D1 Brief
D1 Datasheet: D1 Datasheet
D1 Manual: D1 Manual
-
Reply: D1哪吒板开发入门,开箱即食,有带SDK的虚拟机下载
D1 / D1s TINA v2.0 百度云盘下载:
链接: https://pan.baidu.com/s/1rTyKuWIwMUlBY4xLJofWEg?pwd=awol
提取码:awol①解压: cat tina_d1_open_v2.tar.bz2.a* | tar -xjv ②从本地repo仓库同步SDK repo sync -l ③ source build/envsetup.sh ④ lunch ⑤ make ⑥ pack
建议先安装一下软件包避免编译或打包出错:
sudo apt-get install build-essential subversion git-core repo libncurses5-dev zlib1g-dev \ gawk flex quilt libssl-dev xsltproc libxml-parser-perl \ mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 \ libncurses-dev zlib1g-dev gawk openssl libssl-dev linux-tools-common gperf -y
-
Reply: 芒果派麻雀到手试玩
@jr_online
在 u-boot 里面调试,可以输出一些调试信息,一般在u-boot开屏之后,Linux不再自动开屏了。可以接个逻辑分析仪看下时序。
-
Reply: 咨询一个tina-linux 的uboot编译问题
@smiletiger
我刚刚测试了 D1s SDK 2.0,muboot 之后会重新生成所有 uboot*.bin,pack 之后会重新生成所有 uboot*.fex 文件,
并且 img 文件也更新 了。
-
Reply: 咨询一个tina-linux 的uboot编译问题
@smiletiger
muboot 可以强制重新编译 uboot,至于你说文件没有变化,那你是指哪个目录下面的哪个文件,有没有比较前后的crc32/md5码? -
Reply: v536h怎么烧录?
@jinxiangwzh
SDK编译出来的img不是芯片烧录的最终镜像,(有点类似 hex 文件那种意思)
烧录软件根据 sys_partiton_nor.fex 的起始地址,会帮你把数据烧到对应的地址。
-
Reply: 珠海全志安卓系统A20工控机。,可以下载微信吗:怎么操作谢谢。
@w666666
A20 就不建议玩微信了,A133 + 1G DDR4 都一卡一卡的
A133 + 2D DDR3 刚好凑合 -
Reply: V536H打包出错
@jinxiangwzh
修改板级目录下面的 sys_partition.fex 文件里面 rootfs 的 size 属性。 -
Reply: 萌新在淘宝整了一台“台电” P85 TLA016 平板电脑
不用动硬件, 我测试了一下,开机输入2是可以进入FEL的。
说明是台电固件故意这么处理的。
-
Reply: F133-A/D1S芒果派MQ-R在tina-sdk2.0下无法识别电阻触摸屏
@exoy28
那或许不能这么操作了,你只要保证 evtest / getevent 输出的坐标和液晶显示一致,lvgl7 触摸问题不大,实在不行就在读 event 设备那地方加点调试代码。 -
Reply: F133-A/D1S芒果派MQ-R在tina-sdk2.0下无法识别电阻触摸屏
@exoy28
event2 已经用 uinput 转换成屏幕坐标了,不是原始adc值了。所以用 ts_test 不能再测试 event2 了。
但是这样操作或许可以:
TSLIB_TSDEVICE=/dev/input/event2 ts_calibrate TSLIB_TSDEVICE=/dev/input/event2 ts_test
-
Reply: F133-A/D1S芒果派MQ-R在tina-sdk2.0下无法识别电阻触摸屏
@exoy28
理论上没有问题的,实在不行可以在lvgl把event数据打印出来看看。您再参考这个帖子:
收到芒果大佬的库存 DVP与MIPI 双摄像头R11开发板
https://bbs.aw-ol.com/topic/1305/share/8