您尚未登录。

#1 Re: 工业芯 匠芯创 » Luban Lite 串口轮循发送函数,没有发送完成就函数返回,导致485芯片发送数据不完整的问题总结 » 2025-06-28 14:22:02

大林 说:

@lqcfly

理论上就算系统回复发送已经完成,也应该延时一下吧,如果直接拉DE脚也会出现数据发送丢失的现象

是的,flush只是确保没有缓存了,但最后一个字节可能还没发送完成。所以至多还要延时10个bit的传输时长。

还有一个方法就是RS485芯片的DE和RE引脚分开控制,让发送的同时使能RE并开启串口接收,当接收到的数据长度跟发送的一致时,表示发送已经完成。
这样做还有一个额外的功能,发送的同时接收,如果接收到数据跟发送的不一致,就表示发送有问题。

#2 Re: RK3288/RK3399/RK1108 » rk3506G从入门到放弃 » 2025-06-25 12:12:57

CPU占用高,应该是G2D没有搞起来;Qt那个示图跑的QML吧,没有GPU跑QML神仙CPU也吃力,所以帧率低。

#3 Re: 工业芯 匠芯创 » Luban Lite 串口轮循发送函数,没有发送完成就函数返回,导致485芯片发送数据不完整的问题总结 » 2025-06-24 12:43:37

芯片支持RS-485硬件自动控制收发方向,即串口支持RS485模式。用硬件RS485-DE引脚不是更方便简单?

#4 Re: 全志 SOC » T113-S3如何检测单片机是否正常运行 » 2025-06-21 13:39:29

无语。T113-S3是微处理器MPU,不叫单片机MCU

#5 Re: 全志 SOC » T113-S3如何检测单片机是否正常运行 » 2025-06-21 11:11:05

没明白电压跟检查工作有什么关系。身高1米8的老板就检查不了身高3米的员工是否正常工作?

你是疑惑两者身高不匹配?办法有两种:
1. 检查工作的时候用分压电阻将员工身体弯下来到1米8即可
2. 直接将员工的身高压缩到1米8来工作,现在很多正常身高是3米3的员工即使身高压缩到1米8依然可以正常工作

#6 工业芯 匠芯创 » linux SDK的构建系统不要自动检测ncurses是否安装了,检测功能不准确 » 2025-06-21 10:31:40

海石生风
回复: 0

linux SDK的构建系统的自动检测ncurses是否安装功能不准确。
Manjaro Linux系统,ncurses被一大堆软件包依赖,肯定是已经安装了的

$ pacman -Q ncurses  
ncurses 6.5-4
$ make menuconfig
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel or libncurses-dev
*** depending on your distribution) and try again.
***
make[1]: *** [Makefile:253:/home/chenss/git/ArtInChip/d211/output/d211_D213ecvDemoV4/build/luban-config/dochecklxdialog] 错误 1
make: *** [package/Makefile.sdk:706:/home/chenss/git/ArtInChip/d211/output/d211_D213ecvDemoV4/build/luban-config/mconf] 错误 2

#8 Re: 全志 SOC » 荔枝派zero通过otg与PC共享网络无法实现 麻了 » 2025-06-06 18:14:47

如果只是为了调试而不是上外网,用ADB调试更简单

#9 Re: 工业芯 匠芯创 » 有没有大佬知道D213ECV的luban-lite数字显示方法? » 2025-06-05 17:02:53

知识储备太低了,问题都问不清楚,搞毕业设计不要急功近利,多看LVGL文档或教程就可以解决

#11 Re: ESP32/ESP8266 » 有朋友能指导一下下面的cr2032供电逻辑吗 » 2025-05-26 09:26:03

U11内部有一个由VOUT指向VIN的二极管,而VSUPPLY为0V时MOS管栅极悬空,此时MOS管应该处于导通状态。
另外不知道MOS管是什么型号,其内也有可能有体二极管由电池指向VSUPPLY。

#12 Re: 全志 SOC » F1C100S驱动i8080的MCU屏画面撕裂有没有解决方法 » 2025-05-20 16:41:23

视觉℡ 说:
海石生风 说:

DE是什么信号?I8080接口本身并没有垂直同步信号,只有个别LCD屏才会有这个额外的垂直同步信号输出,I8080接口显示屏通常叫这个信号为“TE”

写错了  是TE信号

那应该是你更新数据耗时太长,超过LCD刷新一帧的时长了,所以无论你在哪里开始更新都会跟LCD的刷新位置相遇,从而导致画面撕裂。
解决办法有二:一、加快数据传输速率;二、将单次数据更新分成多个操作来完成、一个操作只更新一部分数据。
归根结底,就是要使一个数据更新操作的耗时小于一帧的时长,通过TE信号同步后,就可以保证不跟LCD刷新位置相遇,从而不会撕裂。

#13 Re: 全志 SOC » F1C100S驱动i8080的MCU屏画面撕裂有没有解决方法 » 2025-05-20 12:30:58

DE是什么信号?I8080接口本身并没有垂直同步信号,只有个别LCD屏才会有这个额外的垂直同步信号输出,I8080接口显示屏通常叫这个信号为“TE”

#17 Re: Cortex M0/M3/M4/M7 » DAPLink 信号线要串电阻,,否则容易通信失败。。 » 2025-05-06 21:06:19

@liyucai
粗略来说,应该是这根天线使原线路的阻抗变大,等效于添加了串联电阻。

#18 Re: Cortex M0/M3/M4/M7 » DAPLink 信号线要串电阻,,否则容易通信失败。。 » 2025-05-06 10:41:02

@XIVN1987
只要导线两端连接的不是同一个电压源,都应该加串联电阻进行限流。否则即使两端压差只有0.1V,都会出现短路形成大电流从而影响IO通信。

#19 Re: 工业芯 匠芯创 » 编译问题 gitee下载下来的编译报 python错误 » 2025-04-27 19:52:06

先编译内置的工程,再来整自定义电路板吧。

现在的新手提问,普遍都是给出的信息少得可怜,一般人都懒得鸟

#20 Re: ESP32/ESP8266 » ESP32-P4终于可以购买了, 官网tb开发板499, 小贵, » 2025-04-21 20:05:22

kendmaster 说:

DSP32和全志差距大吗

前者SDK开源,接受社区代码,软件生态丰富;后者SDK闭源,要签协议才能拿到SDK,技术支持要找代理。

#21 Re: 全志 SOC » 一个困扰我很久的问题, 为什么全志的TF/SD卡引导程序都放在8K偏移的位置? » 2025-04-18 15:38:52

TF卡前一两个扇区需要存储分区表,扇区大小通常为4096Byte,所以TF卡前8KiB空间是预留给分区表用的。

#22 Re: 工业芯 匠芯创 » 衡山派sd卡挂载不正常 » 2025-04-16 12:07:39

启动日志上那个黄色字体没看到吗?没试过换SD卡?

#24 Re: 全志 SOC » EA3036 输出电压不对,想请大佬帮忙分析一下。 » 2025-04-11 23:55:41

MPU的1.8V/1.2V 电源功率要求小,一般也就200mA左右,最简单的实现方法是用3脚LDO从3.3V降压过来。

#26 Re: 工业芯 匠芯创 » 使用D12x这款芯片,现在遇到几个问题还请大佬指点 » 2025-03-24 21:49:01

bootloader主程序在 application/baremetal/bootloader/main.c的main函数内,通过调用console_set_bootcmd函数来执行不同介质的启动命令,这些命令在application/baremetal/bootloader/cmd文件夹内。

SDK文档的“SDK 编译”章节对Eclipse和VS Code均有描述

芯片ID读取可参考/bsp/artinchip/drv/efuse/drv_efuse.c(或bsp/artinchip/drv_bare/efuse/efuse.c)的drv_efuse_read_chip_id函数

#27 Re: 工业芯 匠芯创 » gitee上下载下来的luban-lite编译出错,是什么问题? » 2025-03-24 12:38:15

原厂那边人没有用zsh这种比较便利的shell,所以才搞了OneStep命令。并且原厂那边可能OneStep命令用得多,非OneStep命令用得少,所以容易出问题。
我用zsh,根本不需要OneStep命令就用得很便利了。另外,OneStep命令不支持zsh shell,我都懒得提了。

#28 Re: Anyui » anyUI 一款居于LVGL 的HMI 免费面代码 UI开发工具,让UI开发节省99%工作量 » 2025-03-20 21:02:26

就是重复造轮子呗,从侧面体现了lvgl开发工具的不完善,没有一个轮子是真正满意的。

#29 Re: 工业芯 匠芯创 » 新手画了个D133EBS最小系统板,请大佬们帮我找找问题?交流起来 » 2025-03-18 22:04:31

还是遵循官方的硬件指南吧:
- 高速信号(EMMC、SD卡、RMII、RGMII、USB、LVDS、MIPI、DVP) 避免跨越不同参考平面
- QSPI接口 SPI_MOSI、SPI_MISO、SPI_WP、SPI_HOLD、SPI_CLK、SPI_CMD需等长约束(长度差建议不超过20mil)
- USB_DP、USB_DM需等长约束(长度差建议不超过10mil),差分对90欧姆阻抗匹配
等等

特别是USB,换层太多,还没走差分线

#30 Re: RISC-V » rv32 cpu该怎么适配rust,试着模仿写了点但编译出错 » 2025-03-18 16:13:39

rust的策略是用于替代频繁malloc/free的场合,MCU里基本都是静态(static)全局变量,所以rust无用武之地。在这里用rust,反而要搞一堆unsafe,那rust的意义何在?
FFI不是直接调用,绝大部分C/C++之外的语言都支持通过FFI调用C,像C++调用C这种才叫直接调用。FFI很繁琐的。
SDK代码质量差的是小众芯片厂,那么rust社区一般也不支持该小众芯片。

#31 Re: 8051/STC8/AT89C51/N76E003 » 【愚人千虑】C51 编程中的常见陷阱 » 2025-03-18 15:36:00

这不是编译器的问题,而是MCU资源太少的问题。所以8051这种MCU逐渐被ARM、RISC-V这些32位MCU替代。

用低资源MCU做开发是种很悲催的体力活。
本人十多年前用过那种OTP ROM或者Mask ROM的非Flash(不能在线调试只能仿真调试),没有C编译器只能写汇编、汇编之下还没有除法指令的8位MCU时深有体会。

建议不要找这种用低资源MCU的岗位。

#32 Re: 工业芯 匠芯创 » luban-lite的SDK使用IDE开发 » 2025-03-18 11:04:43

regbbs 说:
海石生风 说:

luban-lite是RTOS,上了OS一般都用串口调试,很少用JTAG调试了。思维要转变。

你这就是搞笑了,keil+rtx,用jtag调试不方便吗?有些数据需要查看然后手动修改看逻辑运行结果等,你也用串口?

很奇怪吗?!我裸机开发也只有初期搭最小系统才JTAG调试,绝大部分情况用串口调试。因为搞了类似RT-Thread那样的串口命令解析器。

想测什么功能就写一个单元测试的串口命令,这才是符合软件工程的开发方式。RTOS、嵌入式Linux上都有的串口终端可不是白搭的。
如果不理解串口终端、单元测试的意义,还请不要理会我的发言。

#33 Re: RISC-V » rv32 cpu该怎么适配rust,试着模仿写了点但编译出错 » 2025-03-17 16:12:05

rust太复杂了,在MCU上写rust跟写C++差不多;
MCU上一般是用静态内存分配,用不了rust内存管理的强项;
不能直接调用MCU厂商提供的固件C库,只能用开源社区的库,代码质量反而无法保证;

所以MCU上的rust生态不可能会壮大,最多业余玩-玩而已。

#34 Re: 工业芯 匠芯创 » luban-lite的SDK使用IDE开发 » 2025-03-17 11:18:23

luban-lite是RTOS,上了OS一般都用串口调试,很少用JTAG调试了。思维要转变。

#35 Re: 工业芯 匠芯创 » 关于GUI工具的选型建议 » 2025-03-11 18:29:56

TI 的GPMC吗?跟PBUS是差不多的东西吧

#36 Re: 工业芯 匠芯创 » D133EBS这个芯片性能如何?跟STM32哪款芯片对比呢? » 2025-03-11 15:31:37

STM32的开发工具是好用,但芯片配置上有些地方要弱于国产的, 各有千秋,按需求选型吧。STM32目前没有类似D13x这样集成DDR内存的芯片。

D13x的指令效率稍优于cortex-m4, 但主频是主流cortex-m4芯片的2倍,所以指令性能是主流cortex-m4芯片的2~3倍,但要弱于stm32H750。

#37 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 这个 jlink v11 如何? » 2025-03-05 14:47:24

JLink怎么可能是仿真器!?那是调试器。

仿真器是那种MCU的ROM不是Flash而是OTP或Mask。OTP只能烧录一次;Mask不能烧录,只能将程序做在芯片的光刻掩模上。开发时不能像Flash MCU那样在线调试,只能通过FPGA之类的可编程器件去模拟MCU内核指令即对MCU进行仿真调试。这个FPGA板子才叫仿真器,通常由MCU原厂制作并带个壳子。

#38 Re: 8051/STC8/AT89C51/N76E003 » 请教,avr单片机例程,不明白这个先乘1000再除1000有什么作用。 » 2025-02-24 11:52:01

他是为了保留括号,两种方法都可以。如同进门迈左脚还是右脚,没啥好讨论的。

#39 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » ArtInChip D21 基于 DRM 适配 LVGL V9 » 2025-02-19 11:36:52

我评估过D21 Linux SDK跑AWTK demo,发现开不开G2D其CPU占用跟帧率都差不多。而G2D需要占用非常多的内存,于是直接把G2D关了,跑一般UI应用也是很流畅的。所以一般来说,跑方方正正的绘图UI,不开G2D足够了。

至于AWTK这边G2D的性价比低,不知是AWTK上的图形加速有问题还是其它,就得而知了。

#40 Re: 全志 SOC » 触摸屏提示音 » 2025-02-16 14:25:45

调用QApplication对象的installEventFilter()函数将filter对象安装到app的事件过滤器,filter对象实现eventFilter()函数以处理触摸事件

#41 Re: 工业芯 匠芯创 » Luban-lite rt-thread系统 在SCons4.5.2环境下编译错误的解决办法 » 2025-02-08 10:01:30

方法二改法不太妥当。新版本下,Env.get函数返回的是deque、group.get函数返回的是list,再者不能用加号来组合。最好按下述修改:将deque转为list

diff --git a/kernel/rt-thread/tools/building.py b/kernel/rt-thread/tools/building.py
index 24bcf5cc..cf329981 100644
--- a/kernel/rt-thread/tools/building.py
+++ b/kernel/rt-thread/tools/building.py
@@ -779,8 +779,8 @@ def DoBuilding(target, objects):
             CFLAGS = Env.get('CFLAGS', '') + group.get('LOCAL_CFLAGS', '')
             CCFLAGS = Env.get('CCFLAGS', '') + group.get('LOCAL_CCFLAGS', '')
             CXXFLAGS = Env.get('CXXFLAGS', '') + group.get('LOCAL_CXXFLAGS', '')
-            CPPPATH = Env.get('CPPPATH', ['']) + group.get('LOCAL_CPPPATH', [''])
-            CPPDEFINES = Env.get('CPPDEFINES', ['']) + group.get('LOCAL_CPPDEFINES', [''])
+            CPPPATH = list(Env.get('CPPPATH', [''])) + group.get('LOCAL_CPPPATH', [''])
+            CPPDEFINES = list(Env.get('CPPDEFINES', [''])) + group.get('LOCAL_CPPDEFINES', [''])
ASFLAGS = Env.get('ASFLAGS', '') + group.get('LOCAL_ASFLAGS', '')

for source in group['src']:

#42 Re: BLDC电机驱动 » 直流无刷电机电动工具柔性刹车 » 2025-01-24 21:43:56

panhaojie 说:

请问大佬,刹车电阻的选型有什么讲究吗?

要根据电机的电压和制动功率来选型

#44 Re: 全志 SOC » 8.8元的 ML307R-DL 4G CAT.1 模块 » 2025-01-16 10:13:16

bigzhu 说:

牛逼,好奇怎么做到这么低的价格?光材料成本都不止吧

4G CAT.1其实就跟NB-IOT模块差不多了,后者也是基于4G网络的,差不多是这个价。

#45 Re: BLDC电机驱动 » 步进电机驱动 » 2025-01-15 22:59:03

转速快了之后是不是出现丢步?可能是电机扭矩不够,可以提高电机的驱动电压或更换扭矩更大的电机。

#46 Re: 工业芯 匠芯创 » 求 D211 luban_lite mmc镜像生成配置文件或方法 » 2025-01-15 15:16:34

我之前试过是可以的,需要修改Flash设备类型及额外一些配置,参见这里:

https://whycan.com/t_11354.html

#47 Re: 工业芯 匠芯创 » D133开发板立创衡山派更换SPI NAND后无法输出图像 » 2025-01-15 15:11:36

启动时有错误:"Failed to get mtd config",应该是分区配置有问题

#48 Re: 全志 SOC » 全志f1c100s可以用于工业级应用吗? » 2025-01-14 12:09:53

本站这么多人用全志的芯片却没人回复,说明拿全志做工业级的很少。

#49 Re: Cortex M0/M3/M4/M7 » 稳定的jlink推荐 » 2025-01-11 15:34:36

不知是谁带坏了风气,总想把调试器做低成本而不是做稳定,导致x宝上的调试器特别是DapLink普遍都不稳定。

#50 Re: 工业芯 匠芯创 » d122xx 类型产品有计划移植ardunio开发嘛 » 2024-12-31 17:14:13

真的有人拿arduino来做产品么?总感觉这东西达不到产品级要求,不过拿来做些玩具、搞下电赛是不错。

#51 Re: BLDC电机驱动 » 直流无刷电机电动工具柔性刹车 » 2024-12-31 11:58:53

也可以加入反向扭矩来实现刹车,控制反向扭矩的大小应该就可以控制刹车的柔和度

#52 Re: 工业芯 匠芯创 » AWTK UI在D21x RTOS SDK平台上性能非常差,平移动画非常卡!什么原因? » 2024-12-27 19:00:20

经测试,同样的板子跑AWTK官方的demoui,在Linux下没开G2D都比RTOS下开G2D的跑得流畅,此时在Linux下没感觉有明显的卡顿。
看来确实时是RTOS的文件系统性能太差了。

跑Linux 1.2.7 SDK 里的AWTK demo出现错误:in aic_cma_buf_malloc, ioctl() failed! errno, heap_fd = 5, size = 2457600,故测不了Linux下开G2D的情况。
希望官方能尽快把这个BUG修复好。

#53 Re: 工业芯 匠芯创 » git pull同步贵司git仓库经常出现“致命错误:拒绝合并无关的历史” » 2024-12-27 14:24:47

正在尝试将基于AWTK的UI软件从RTOS SDK切换到Linux SDK,发现Linux SDK 1.2.7版本的内置AWTK demo跑不起来。
然而之前因为git pull不能成功,只好删除之前的再重新git clone。然而想回滚到上一版才发现上一版的历史已经没有了,最近的只有1.2.3

这样管理git仓库屁用没有!还不如直接将各版本打包,公布其下载链接算了。

#54 Re: BLDC电机驱动 » 直流无刷电机电动工具柔性刹车 » 2024-12-27 11:26:39

电机的电子刹车其实就是停止电机供电并进行续流,那么续流有两种方式:一种是你现在这种通过电机内阻续流,另一种是在外部并入一个由MOS管控制通断的刹车电阻。
第二刹车方式应该可以减小噪音。

#55 Re: 工业芯 匠芯创 » git pull同步贵司git仓库经常出现“致命错误:拒绝合并无关的历史” » 2024-12-26 20:56:19

aozima 说:

fetch下来看看,应该是仓库里面强推了新版本,而不是在原有基础上更新的。

Linux SDK仓库的历史只剩4条了,明显是为了减小体积而手动删除的。根治体积太大的问题,还是应该按我上面的方法解决。

#56 工业芯 匠芯创 » git pull同步贵司git仓库经常出现“致命错误:拒绝合并无关的历史” » 2024-12-26 16:48:29

海石生风
回复: 3

因为仓库体积太了,过一段时间就执行“存储库 GC ”导致很多历史被删除?这样用户不好同步呀。

解决仓库体积过大的治根的方法应该是将源码、工具链、预编译二进制包分开到不同的仓库。

现在git仓库过大,超过了1GB,导致非付费gitee用户根本就fork不了源码,从而不能在gitee上进行后续开发的托管。

#57 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » lcd屏幕模组胶粘可靠性 » 2024-12-26 16:05:35

你买的是带显示屏的开发板吧。除非是单色lcd屏或串口屏产品,正经的彩色显示屏不会带PCB

#58 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » lcd屏幕模组胶粘可靠性 » 2024-12-21 17:29:04

不是贴胶的,是通过LCD金属外壳卡住PCB。贴胶久了必定会脱落,不牢靠。

#59 Re: 工业芯 匠芯创 » D21x 的UART的最高速度到底是多少? » 2024-12-21 00:18:15

@gpfrank
D21x UART的字符超时中断就是你说的idle中断

#60 Re: 工业芯 匠芯创 » D133挂载文件失败 » 2024-12-13 21:59:59

rodata文件系统挂载跟luban-lite/target/d13x/<电路板>/pack/image_cfg.json和menuconfig里的配置(Application options  --->Using File System Image 0)都有关系

#61 Re: 工业芯 匠芯创 » AWTK UI在D21x RTOS SDK平台上性能非常差,平移动画非常卡!什么原因? » 2024-12-10 11:33:08

astankvai 说:

@ArtInChip
目前的很多DEMO都是基于LVGL8的, 包括 USB_OSD_DEMO.

吐槽下LVGL,它的API这么多年了都稳定不下来,几乎每年增大一个大版本号。这看似是发展快速,实则是核心设计有问题,一直稳定不下来。

#62 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 基于LVGL的嵌入式声明式UI框架zdec略有小成! » 2024-12-07 13:07:42

今年年初起的这个项目至今都有任何进展,是因为还有很多细节一直没有搞定。并且LVGL的API一直都不稳定,单单是搞其API绑定层都要不少精力。
因为Zig基本上可以直接调用C,故放弃API绑定层的思路,直接在框架内调用UI库的C接口,并将框架转为MVVM。
MVVM框架本身就规定好了View跟Model的绑定规则,非常适合声明式UI框架。

目前已经基本在awtk-mvvm上添加实现了zig语言支持:https://gitee.com/ufbycd/awtk-mvvm-zig-example,在zig上实现Model要比C/C++方便很多,便捷性几乎跟javascript的差不多。
下一步,将用zig元组替换xml来实现View声明,即实现一个zig的MVVM框架:zig-mvvm
再下一步,将zig-mvvm框架推广到其它UI库,如LVGL等。

因为业余自由时间不是很多,一天至多只能抽出两三个小时,也是随缘更新。

#63 Re: ST/STM8/STM8S/STM8L » STM32 M系列的单片机怎么样才能驱动MIPI屏(ST7701) » 2024-12-06 17:04:07

与非门 说:
hexenzhou 说:

有RGB转MIPI的转换芯片,如:LT8918!

官网提供的规格书就两页,应用起来困难

这种冷门芯片都是这鸟样。建议用串口屏,简单、实在。

#64 Re: 工业芯 匠芯创 » AWTK UI在D21x RTOS SDK平台上性能非常差,平移动画非常卡!什么原因? » 2024-12-04 17:18:46

@kakatoo
怀疑是RTOS的文件系统性能不太好导致,准备切换到Linux SDK看下是否有改善。RTOS平台还是建议用LVGL

#65 Re: BLDC电机驱动 » 有专门针对步进电机的MCU芯片方案么? » 2024-11-28 20:19:25

@244141084
步进电机转速过了1000RPM没啥意义,此时扭矩太小,带不了载。若真有高转速需求,则不应该选步进电机。

#66 Re: 工业芯 匠芯创 » AWTK UI在D21x RTOS SDK平台上性能非常差,平移动画非常卡!什么原因? » 2024-11-26 15:56:06

ArtInChip 说:

@海石生风

不是的,等10月份吧,会发布的。

你说的是AiUIBuilder吗?现在11月底咯,何时发布?

#67 Re: BLDC电机驱动 » 有专门针对步进电机的MCU芯片方案么? » 2024-11-26 13:33:19

244141084 说:

大佬步进电机8个mos怎么做弱磁控制啊,有没有相关教程啊

弱磁控制用于高转速场合吧,步进电机跑不了高转速。提高步进电机驱动效率主要靠电流闭环或力矩闭环驱动方式。

#68 Re: ESP32/ESP8266 » 关于SIMD如何学习的文档 » 2024-11-22 11:37:48

MCU芯片或内核原厂一般都会封装好C接口,比如Cortex-M4/M7的SIMD指令封装在CMSIS软件包的cmsis_gcc.h(ARMCC对应的似乎是cmsis_armclang_lit.h)里。
一句话,找到官方资源即可。

#69 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » AWTK 开源智能串口屏方案发布 » 2024-11-11 10:13:29

我用AWTK有一两年了,只要在awtk.zlg.cn网站保持登录就会持续发放LIC。
不过我不怎么用AWStudio,实际项目都是手写UI描述文件XML,特别是用了MVVM的情形。即使是手写XML肯定也比LVGL好用,LVGL现在才开始搞UI描述文件。

如果对MVVM感兴趣,可以关注我这几天的研究成果,用zig写MVVM应用,利用zig的泛型/反射特性直接从Model构建出View-Model:
https://gitee.com/ufbycd/awtk-mvvm-zig-example

#70 Re: 工业芯 匠芯创 » d133裸机如何进行中文显示(不用lvgl) » 2024-11-01 17:45:56

海绵宝宝 说:
海石生风 说:

你的显示屏是单色点阵LCD吧 
单色LCD显示用的是位图,用字体取模软件取出的字模就是字符的位图,将位图显示到LCD即可。英文、汉字的做法都一样。

如果是RGB呢

把一个字体当作一张图片来显示即可,彩色字体取模其实就是取它的图像。

不过彩色屏下建议还是用UI库,UI库有显示缓存优化处理,要比手动显示图片的效率高。

#71 Re: 硬件设计 KiCAD/Protel/DXP/PADS/ORCAD/EAGLE » 以太网口出的信号,大家是用什么设备检测的?直接电脑ping? » 2024-10-31 13:08:53

示波器 + 差分探头,调节示波器的扫描周期与以太网信号同步时就会看到眼图,眼图越干净说明信号质量越好。

#73 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » c++ 11 编译代码 条件变量阻塞状态 wait失效 » 2024-10-24 15:24:47

既然怀疑编译器。那它啥版本?哪来的?换过编译器没有?

#74 Re: 工业芯 匠芯创 » D213ECV 使用 Aiburn 无法烧录 » 2024-10-22 15:22:49

可能是USB线材的问题,我在linux上开虚拟机跑windows来烧录都很稳定

#76 Re: 工业芯 匠芯创 » 请教下Linux下研发的工具和各种文档 » 2024-10-17 13:05:43

linux sdk还没怎么研究,最好找官方技术支持

#77 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 请教rtt目录下的menuconfig.py和python库里的menuconfig.py名字冲突了,如何解决呢? » 2024-10-14 17:02:24

也可用python -m venv 为sdk单独创建一个的scons运行环境,不要将其它软件安装到这个环境即可。

#78 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 请教rtt目录下的menuconfig.py和python库里的menuconfig.py名字冲突了,如何解决呢? » 2024-10-14 14:31:17

将sdk里的python脚本目录添加到环境变量PYTHONPATH,import时PYTHONPATH的优先级高于site-packages

不过建议,如果site-packages/menuconfig.py相关软件不是很重要,最简单的方法还是将其删除。

#79 Re: 工业芯 匠芯创 » 请教如何定位D133程序崩溃的位置 » 2024-10-12 16:42:40

目前来说比较好的手段是连接jtag调试器来调试,不然真不好找CPU异常出处。除非异常发生于系统启动阶段,此时可以打log调试。

建议官方将CmBacktrace移植到RISC-V,方便追踪程序崩溃位置。

#80 Re: 工业芯 匠芯创 » D133EBS LVGL 显示异常 » 2024-10-12 16:33:04

屏没花呀,有没有可能:显示一直都有问题,只是彩色条纹界面没有将问题显示出来而已?

#81 Re: 工业芯 匠芯创 » D133运行流程 » 2024-10-12 16:27:30

了解下RT-Thread的这个宏INIT_APP_EXPORT,就知道了

#82 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » PC 显示器的驱动芯片 » 2024-10-10 16:47:01

显示器接口都支持DDC/CI协议,走的是I2C,可以获取显示器的分辨率等信息,并可以控制显示器的亮度、色温等。

当前Linux的KDE桌面默认配置下就可以通过软件来调节台式机显示器的亮度,利用的就是DDC/CI协议

#83 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 关于 FreeRTOS 中 delay 函数的问题 » 2024-10-03 13:27:46

RTOS使用systick溢出中断的分辨率是毫秒,其计数器VAL的分辨率小于微秒。两者结合可以得到微秒分辨率的计时

#84 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » CPU,MCU,SoC 的术语使用混乱问题 » 2024-10-01 16:17:48

shiinakaze 说:

@海石生风
如果你连基本概念都分不清,确实对你来说是废话。

platform和SoC你倒是分清概念呀,无非嘴硬。懒得鸟了,浪费时间。

#85 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » CPU,MCU,SoC 的术语使用混乱问题 » 2024-10-01 12:16:51

shiinakaze 说:

@海石生风
这不就是我文章里面已经提到的东西么,还有严格来说 CPU 只是一个计算机架构中的一个抽象模型,并不是一个实际物体,文章的所有内容来自论文和 wikipedia 的说明,并非我自顾自的意想。

抓不住精髓,废话一堆,没啥鸟用。

一堆东西放在一起,你要分清本质区别,才不会乱!

#86 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » CPU,MCU,SoC 的术语使用混乱问题 » 2024-10-01 08:52:06

没有搞清名词概念及厂商为何那么叫,自然就没有把事情说清楚,不清楚就是乱。

CPU(处理器):注重处理的吞吐量指标,用于台式机、服务器等大功率设备
MPU(微处理器):注重处理的吞吐量指标,用于手机、平板等小型设备
MCU(微控制器):注重实时控制,且功耗非常小
DSP(数字信号处理器):注重数字信号处理的实时控制,是MCU的细分领域
SoC(片上系统):集成度较高的一类芯片的统称,其处理单元可以是MPU、MCU等
platform跟SoC是同一个东西,platform强调其芯片中的处理单元指标只占整体指标很少一部分

#87 Re: ESP32/ESP8266 » ESP32S3 通过USB无法烧录 » 2024-09-29 21:03:06

接触不良,要么是线、要么是接口

#88 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » CPU,MCU,SoC 的术语使用混乱问题 » 2024-09-26 23:23:50

你这越搞越乱啦。
狗,有大狗、小狗,白狗、黑狗,肥狗、瘦狗,田园犬、斗牛犬,这么多说法。乱了吗?没乱。是因为不同叫法表达的是同一个事物的不同侧面。
之所以乱,是因为你没有搞清这些叫法的分类方法。MPU跟SOC明显是不同的分类,如同白狗跟肥狗,牛头不对马嘴!

#89 Re: 工业芯 匠芯创 » D21x RTOS SDK 1.0.5使能AWTK并添加C++源码后系统运行异常 » 2024-09-24 19:08:05

找到问题了!D21x是64位机,C++的初始化函数表.init_array应该是8字节对齐的,而SDK的链接脚本里弄成4字节对齐了。
按以下patch将链接脚本里的改为8字节对齐即可:

diff --git a/bsp/artinchip/sys/d21x/link_script/gcc_aic.ld.S b/bsp/artinchip/sys/d21x/link_script/gcc_aic.ld.S
index 7600a467..561a79ed 100644
--- a/bsp/artinchip/sys/d21x/link_script/gcc_aic.ld.S
+++ b/bsp/artinchip/sys/d21x/link_script/gcc_aic.ld.S
@@ -149,7 +149,7 @@ SECTIONS
*(.rodata.*)
*(.srodata*)
*(.rodata.str1.4)
-  . = ALIGN(0x4) ;
+  . = ALIGN(0x8) ;
PROVIDE(__ctors_start__ = .);
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))

#90 Re: 工业芯 匠芯创 » D21x RTOS SDK 1.0.5使能AWTK并添加C++源码后系统运行异常 » 2024-09-24 16:26:12

试过将main线程栈开到4MB都一样。C++代码如下,非常简单,且只是加入编译没有在其它地方调用C++源码的函数。
发现只要用了C++的标准库就出问题,不用C++标准库就没有问题;即使能宏ENABLE_CPP_STD就会出问题

#include <stdio.h>

#define ENABLE_CPP_STD 1

#if ENABLE_CPP_STD
#include <vector>
#endif

class MyOutputStream {
public:
    MyOutputStream(){}

    MyOutputStream& operator<<(int v) {
        printf("%d", v);
        return *this;
    }

    MyOutputStream& operator<<(unsigned int v) {
        printf("%u", v);
        return *this;
    }

    MyOutputStream& operator<<(long int v) {
        printf("%ld", v);
        return *this;
    }

    MyOutputStream& operator<<(unsigned long int v) {
        printf("%lu", v);
        return *this;
    }

    MyOutputStream& operator<<(char v) {
        printf("%c", v);
        return *this;
    }

    MyOutputStream& operator<<(const char* v) {
        printf("%s", v);
        return *this;
    }

    MyOutputStream& operator<<(char* v) {
        printf("%s", v);
        return *this;
    }
};

class A {
public:
    A();
    ~A();

private:
#if ENABLE_CPP_STD
    std::vector<int> vi;
#endif

    MyOutputStream cout;
};

A::A()
{
    cout << "A init\n";

#if ENABLE_CPP_STD
    vi = {1, 2, 3};
    vi.push_back(4);
    vi.push_back(5);

    cout << "is size:" << vi.size() << '\n';
    for(auto &i: vi) {
        cout << i << ", ";
    }
    cout << '\n';
#endif
}

A::~A()
{
    cout << "A deinit\n";
}

void a_test()
{
    A a;
}

#91 工业芯 匠芯创 » D21x RTOS SDK 1.0.5使能AWTK并添加C++源码后系统运行异常 » 2024-09-24 13:51:35

海石生风
回复: 3

经测试AWTK和C++源码只要不是同时使能,系统都能正常运行。但两都同时使能编译在一起运行就会进入不了main函数并出现Exception如下:

CPU Exception: NO.1
x1(ra)   : 00000000400361c6     x2(sp)   : 00000000402de558     x3(gp)   : 000000004026e530f
x5(t0)   : 000000004026fef8     x6(t1)   : 0000000000000002     x7(t2)   : 00000000000000724
x9(s1)   : 0000000040269670     x10(a0)  : 0000000000000000     x11(a1)  : 00000000000000008
x13(a3)  : 00000000402a35a0     x14(a4)  : 0000000066f25211     x15(a5)  : 401f1830000000008
x17(a7)  : 0000000000000064     x18(s2)  : 00000000deadbeef     x19(s3)  : 00000000deadbeeff
x21(s5)  : 00000000deadbeef     x22(s6)  : 00000000deadbeef     x23(s7)  : 00000000deadbeeff
x25(s9)  : 00000000deadbeef     x26(s10) : 00000000deadbeef     x27(s11) : 00000000deadbeefa
x29(t4)  : 0000000000000190     x30(t5)  : 000000000000002d     x31(t6)  : 0000000000000000
mcause   : 0000000000000001
mtval    : 0000003000000000
mepc     : 0000003000000000
mstatus  : 8000000a00007880

完整启动日志如下:

tinySPL [Built on Sep 11 2024 16:34:02]
[W] usbh_is_connected()105 usb 1 port change wait failed.
[E] main()172 Not find udisk.
qspi0 freq (input): 91636363Hz
qspi0 freq ( bus ): 91636363Hz
nftl vol: data, size 0
Selecting default config 'Luban-lite firmware'
spl read: 2549040 byte, 348034 us -> 7152 KB/s
Boot time:
108099 : Enter main
109631 : Clock and pinmux done
110143 : Console UART ready
111287 : Heap init done
114980 : Banner shown
204155 : UDISK checked
571345 : Run APP
Welcome to ArtInChip Luban-Lite 1.0.5 [D21x Inside]
Built on Sep 24 2024 13:43:04
09-24 13:45:53 I/PWM main: ArtInChip PWM loaded
09-24 13:45:53 I/touch main: rt_touch init success
09-24 13:45:53 I/gt911 main: touch device gt911 init success
[I] aic_find_panel()83 find panel driver : panel-lvds
[I] aicfb_probe()978 fb0 allocated at 0x42000040
[I] hal_ge_init()1620 dither line phys: 0x424B0100
[I] pcm1803a_init()22 pcm1803a init
09-24 13:45:53 I/PSADC main: ArtInChip PSADC loaded
[I] aic_sdmc_clk_init()548 SDMC1 sclk: 50400 KHz, parent clk 1008000 KHz
09-24 13:45:53 I/SDMC main: SDMC1 BW 1, sclk 50400 KHz, clk 400 KHz(406 KHz), div 2-62

[I] aic_sdmc_probe()665 SDMC1 driver loaded
qspi0 freq (input): 91636363Hz
qspi0 freq ( bus ): 91636363Hz
[I] spinand_info_read()473 find raw ID efaa2200
[I] spinand_flash_init()524 Enabled BUF, HWECC. Unprotected.
nftl vol: data, size 0
09-24 13:45:53 I/sensor main: rt_sensor[temp_tsen_cpu] init success
09-24 13:45:53 I/WDT main: ArtInChip WDT loaded
CPU Exception: NO.1
x1(ra)   : 00000000400361c6     x2(sp)   : 00000000402de558     x3(gp)   : 000000004026e530f
x5(t0)   : 000000004026fef8     x6(t1)   : 0000000000000002     x7(t2)   : 00000000000000724
x9(s1)   : 0000000040269670     x10(a0)  : 0000000000000000     x11(a1)  : 00000000000000008
x13(a3)  : 00000000402a35a0     x14(a4)  : 0000000066f25211     x15(a5)  : 401f1830000000008
x17(a7)  : 0000000000000064     x18(s2)  : 00000000deadbeef     x19(s3)  : 00000000deadbeeff
x21(s5)  : 00000000deadbeef     x22(s6)  : 00000000deadbeef     x23(s7)  : 00000000deadbeeff
x25(s9)  : 00000000deadbeef     x26(s10) : 00000000deadbeef     x27(s11) : 00000000deadbeefa
x29(t4)  : 0000000000000190     x30(t5)  : 000000000000002d     x31(t6)  : 0000000000000000
mcause   : 0000000000000001
mtval    : 0000003000000000
mepc     : 0000003000000000
mstatus  : 8000000a00007880

#93 Re: 工业芯 匠芯创 » D133EBS使用 » 2024-09-20 11:56:19

Gentlepig 说:

据说100脚的封装管脚特别密,不好画板还是不好加工来着。

88脚、100脚、128脚封装的引脚间距分别为:0.4mm、0.4mm、0.35mm

#94 Re: 工业芯 匠芯创 » 看到gitee有D215了 » 2024-09-18 22:27:19

soso 说:

有没有便宜点的板子,官方目前板子太贵,哈哈哈

现在的年经人呀,三四百的板子都喊贵。我以前刚毕业的时候,Linux开发板动不动都是过千的!

#95 Re: 工业芯 匠芯创 » 请教下Linux下研发的工具和各种文档 » 2024-09-18 22:03:40

其实就一个问题:烧录工具软件只支持Windows。可能是官方错认为大家都是在Windows下用虚拟机Linux做开发,实则在实体Linux下做开发的应该不在少数,MACOS也算类Linux环境。

RTOS SDK那边有Linux下的命令行烧录工具(upgcmd),但不稳定,且不支持指定分区烧录。
Linux SDK那边还没怎么研究,似乎没有Linux烧录工具。不过Linux下如果板子有网口很少在开发时直接烧录,而是通过网络共享的方式应用新固件或App,但没看到有文档介绍。板子没网口的话,也只能通过烧录来验证调试。

本人的开发环境是实体ManjaroLinux,目前用RTOS SDK做开发,SDK依赖库都能装上、源码编译无问题,唯独要时常开个Windows虚拟机来做烧录,肯定是不便利的。

#96 Re: 工业芯 匠芯创 » Linux系统驱动步进电机方案探索 » 2024-09-15 20:15:14

david 说:

找根IO线控制方向 用SPI的MOSI产生波形 事先算好了转化成SPI数据 DMA过去

确实是种办法,不过D21x的Linux驱动还是有可能支持加减速控制的,SPI这个办法应该是最后的手段了。

#97 Re: 工业芯 匠芯创 » Linux系统驱动步进电机方案探索 » 2024-09-13 17:41:36

wupaul2001 说:

或者你可以看看T113,内置异构核,应该可以实现你想要的功能

工业应用一般都要求实时控制,所以有不少MPU+MCU的多核异构芯片方案,期待匠芯能出这种方案。全志就算了,SDK都藏头躲尾的。

#98 Re: 工业芯 匠芯创 » Linux系统驱动步进电机方案探索 » 2024-09-13 17:24:57

wupaul2001 说:

外挂一个MCU吧,两块多,你要精准控制,Linux做不到的

不是成本的问题,增加控制器无论是硬件还是软件整体复杂度都增加不少。

#99 Re: 工业芯 匠芯创 » Linux系统驱动步进电机方案探索 » 2024-09-13 17:17:12

AICxia 说:

D21x本来就是面向显控一体应用的,有专门用于电机控制的PWM,可以使用这些PWM输出step/dir波形。

看了下linux sdk里的PWM驱动,跟rtos sdk一样只实现了经过多个固定频率的PWM周期后就关闭PWM的功能。但这实现不了step/dir接口的加减速控制呀,加减速控制需要每经过一个PWM周期就修改一次频率!

不过改下linux驱动还是可以实现的,目前在rtos sdk上就是改了驱动才能实现加减速控制。

也是个好消息,D21x在Linux下是可以实现步进电机的加减速控制的,只是要修改下驱动。单主控方案没问题。

#100 工业芯 匠芯创 » Linux系统驱动步进电机方案探索 » 2024-09-13 10:32:43

海石生风
回复: 12

目前手上有个带7寸显示屏和步进电机的新项目,用的是D21x单主控方案。步进电机只需控制AB点往返,但需要加减速控制,而Linux的PWM不支持细粒度控制,所以选了RTOS SDK进行开发,UI用AWTK。也是第一次用RT-Thread,但发现其代码质量和功能都要弱于Linux,后续还是打算切换到Linux,这就需要搞定Linux下的步进电机的加减速控制。

之前已经研究过播放wav音频 + 音频功放驱动步进电机是可行的,参见这里:

https://www.bilibili.com/video/BV1nj411D754

然而D21x的音频输出信号不是模拟信号而是PWM信号,是否可以参考上述方案用这个PWM实现step/dir接口的步进电机驱动?或者是否有其它更好的单主控驱动方案?

#101 Re: 工业芯 匠芯创 » AiBurn制作SD启动卡失败!什么原因? » 2024-09-04 13:05:26

gemrisk 说:

@海石生风

制作启动卡,要确认用的是MMC存储介质的固件

AiBurn上不是已经显示固件的存储介质是MMC了么?这个还不算?

#102 Re: 工业芯 匠芯创 » d133裸机如何进行中文显示(不用lvgl) » 2024-09-03 17:07:18

你的显示屏是单色点阵LCD吧 
单色LCD显示用的是位图,用字体取模软件取出的字模就是字符的位图,将位图显示到LCD即可。英文、汉字的做法都一样。

#103 Re: 全志 SOC » 三张Linux I2S声卡可以玩 5.1杜比音效吗? » 2024-09-01 17:30:46

混音、降噪等操作作得不好反而会削弱声音的立体感,因为这些操作会影响音频信号的相位,如果左右或前后两边的信号相位差过大就不能产生声像定位,从而丢失立体感。

这就是为什么由单个全频喇叭组成的低价2.0音箱会比高价的分频音箱具有更好的立体感。分频器,无论是硬件式还是软件式都会影响音频相位。

#104 工业芯 匠芯创 » AiBurn制作SD启动卡失败!什么原因? » 2024-09-01 17:01:48

海石生风
回复: 3

以管理员身份启动AiBurn,点击“格式化SD卡”操作成功,但点击“开始”后显示失败。尝试多次也一样,1.4.3版也一样。
-3.png

日志如下:

[debug] Start make bringup SDcard ...
[debug] Progress range: 0 ~  6821888

[debug] Make bringup SDcard 2 from "D:/projects/IF-100/image/d21x_if100-v1_v1.0.0.img" 

[error] Failed to get partList

#105 Re: 全志 SOC » linux 6怎么操作全志的GPIO呢? » 2024-08-30 22:52:37

你Linux用得少吧,哪个开源项目不都是这样,版本号:官网Release版本 > ArchLinux软件仓库版本 > Ubuntu软件仓储版本

ubuntu软件包一般都比较老旧,你在ubuntu上安装或编译最新版本很容易掉进依赖地狱。

另外,我看了下:官方最新版没有到3,最新的是2.1.3,ArchLinux这边是2.1.2;官方文档最新版是2.1.2

#106 Re: 全志 SOC » linux 6怎么操作全志的GPIO呢? » 2024-08-30 17:29:37

内核都已经废弃gpio sysfs了,为什么还要用?libgpiod不好用?

sysfs实际上是一个调试或配置工具,后者才对编程友好。

#107 Re: 全志 SOC » ubuntu 22.03不能显示中文是哪里不对啊? » 2024-08-28 17:17:16

@ubuntu
是pty可以认为是pts,默认情况应该支持中文。可以做以下尝试:
- 确认远程机的/etc/locale.gen文件是否有en_US.UTF-8 跟 zh_CN.UTF-8
- 将locale改为zh_CN.UTF-8
- 检测本机中文字体中否正确安装

#108 Re: 全志 SOC » ubuntu 22.03不能显示中文是哪里不对啊? » 2024-08-28 17:07:11

前提条件要说明清楚:这是tty终端还是pts虚拟终端?
tty终端默认不支持中文显示,需要对内核打补丁才能支持中文
pts可以理解为是在桌面环境内打开的终端模拟器,ubuntu默认pts应该支持中文

#109 Re: 工业芯 匠芯创 » AWTK UI在D21x RTOS SDK平台上性能非常差,平移动画非常卡!什么原因? » 2024-08-28 16:52:19

哦,如果LCD刷新模式选择为swap_ex mode就不会因为 局部text更新而触发整屏刷新。

进一步测试发现是贴图导致刷新缓慢:如果没有任何贴图UI是比较流畅的,但只要有一个哪怕是非常小的贴图,刷新耗时就会超过100ms

#110 Re: 工业芯 匠芯创 » AWTK UI在D21x RTOS SDK平台上性能非常差,平移动画非常卡!什么原因? » 2024-08-28 09:48:38

再次测试chart demo,可以肯定,是移植有问题:打开宏ENABLE_PERFORMANCE_PROFILE后,在demo主界面只有顶部app bar的时间在按秒更新,其它元素静止时,时间每更新一次就会有以下打印信息:

packages/third-party/awtk-ui/awtk/src/base/lcd_profile.c:322                                           
-------------------------------------                                                                  
  total_cost=490                                                                                       
  draw_image_cost=4 times=6                                                                            
  draw_text_cost=0 times=26                                                                            
  fill_cost=3 times=4                                                                                  
  stroke_cost=0 times=0                                                                                
  end_frame_cost=4                                                                                     
-------------------------------------

其中 total_cost 指的是界面刷新耗时毫秒数,这里要490ms,太离谱!
上述调试说明参见这里: https://gitee.com/zlgopen/awtk/blob/master/docs/optimation.md#%E4%BA%8C%E5%B7%A5%E5%85%B7

根据上述信息可以得出UI性能弱鸡原因:
- 局部text更新触发整屏刷新
- 整屏刷新耗时半秒

每一条都是逆天般的存在!

再细看源码,LCD显存只开了双buffer没有开三buffer,AWTK官方说三buffer可以大大提高帧率。
像D21x这样的MPU HMI芯片只支持LVGL是不够的,LVGL的中文输入都是个问题,这个问题我另外发帖说明。

#111 Re: 工业芯 匠芯创 » d122串口升级失败 » 2024-08-27 16:57:53

搞电子工程就是要假设一切皆有可能,不能有侥幸心理。

#112 Re: 工业芯 匠芯创 » D2X怎么构建自己的工程? » 2024-08-26 15:00:11

按上述改动后不知为何每次编译都更新compile_commands文件,导致编译时间变长好多。于是按下述修改,改为只有添加命令行参数时才更新:scons --cdb

# compilation database
AddOption('--cdb', dest='cdb', action='store_true', default=False, help='generate compilation database')
if GetOption('cdb'):
    env.Tool('compilation_db')
    compilation_db_file_name = PRJ_KERNEL + '_compile_commands.json'
    env.CompilationDatabase(compilation_db_file_name)

#113 Re: 工业芯 匠芯创 » d122串口升级失败 » 2024-08-26 14:54:35

估计是波特率误差较大导致,要根据时钟参数计算波特率误差来选择合适的波特率。

#114 Re: 工业芯 匠芯创 » D2X怎么构建自己的工程? » 2024-08-23 13:48:30

又有新发现,scons本身就可以生成compile_commands.json文件。按下述diff修改SDK根目录上的SConstruct文件:

diff --git a/SConstruct b/SConstruct
index 9750ab30..a51b0846 100644
--- a/SConstruct
+++ b/SConstruct
@@ -102,6 +102,11 @@ env['ASCOM'] = env['ASPPCOM']
# signature database
env.SConsignFile(PRJ_OUT_DIR + ".sconsign.dblite")

+# compilation database
+env.Tool('compilation_db')
+compilation_db_file_name = PRJ_KERNEL + '_compile_commands.json'
+env.CompilationDatabase(compilation_db_file_name)
+
Export('RTT_ROOT')
Export('rtconfig')

- 编译boot时会生成baremetal_compile_commands.json
- 编译rt-thread时会生成rt-thread_compile_commands.json

那么搞两个项目Configuration分别叫boot和rt-thread分别各自使用上面的json db文件就可以灵活地对boot和rtos码字时进行完满的代码补全和阅读跳转了。
_20240823_135415.png
_20240823_135454.png
_20240823_135442.png

#115 Re: 全志 SOC » T113的tina编译gtk报错 » 2024-08-23 09:40:11

T113没有GPU吧,所有没有wayland-egl, 这个是wayland众多后端中的一个。换一个后端即可,T113支持的wayland后端应该有:fbdev、DRM、X11

而wayland是gtk的后端之一,如果要用X11的话,不如直接配置gtk使用X11作为后端。

#116 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » ubuntu的备份文件如何复制到U盘 » 2024-08-20 09:46:08

Linux系统对U盘大小没有限制。你的U盘的分区格式可能是NTFS的,非最新版Ubuntu默认可能不支持此格式。
这种情况有以下解决办法:

1. 对Ubuntu添加NTFS支持
2. 升级到最新版的Ubuntu
3. 将U盘分区格式化为FAT32格式

#117 Re: 全志 SOC » 有没有tf卡座接口的sd芯片啊? » 2024-08-20 09:34:22

TF卡座封装只有单侧焊盘,没有SOP8双侧焊盘的牢固。

工业产品内置的TF卡,肯定不是主存储器,主要用来存储不太重要的内容。

#118 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » ubuntu的备份文件如何复制到U盘 » 2024-08-19 09:30:25

插入U盘-挂载U盘-复制-粘贴?
你问1+1等于几,别人都不敢回复了 yikes

#119 Re: 工业芯 匠芯创 » 52位的GTC计时器数值为什么要特意转成格雷码?根本没法用! » 2024-08-13 14:36:47

@xdlkliang
不行呀,在读取过程中产生进位,即是高低两个寄存器都已经变化了呀,那么两个寄存器都要重新读取。

所以要用do while流程来或以下的if流程来处理:

	hi = csi_coret_get_valueh();
	lo = csi_coret_get_value();

	// 产生进位的时间间隔是很长的,不可能在短时间内产生两次进位
	if(hi != csi_coret_get_valueh()) {
		hi = csi_coret_get_valueh();
		lo = csi_coret_get_value();
	}

#120 Re: 工业芯 匠芯创 » 52位的GTC计时器数值为什么要特意转成格雷码?根本没法用! » 2024-08-13 12:05:51

"把左移操作放到运算符右边"还不行吧,参照Linux SDK那边(linux-5.10/arch/riscv/include/asm/timex.h)应该改成如下才行吧:

u64 aic_get_ticks(void)
{
	u32 hi, lo;

	do {
		hi = csi_coret_get_valueh();
		lo = csi_coret_get_value();
	} while (hi != csi_coret_get_valueh());

	return ((u64)hi << 32) | lo;
}

#121 Re: 工业芯 匠芯创 » 52位的GTC计时器数值为什么要特意转成格雷码?根本没法用! » 2024-08-11 15:37:40

发现RTOS SDK里有这个API:aic_get_time_us,其实现就是读time寄存器,于是找到上面问题的原因了。

我用的芯片是D21x,其CSR寄存器time是64位的,所以此芯片应该没有timeh寄存器,只需读time寄存器即可。
那么,基本上只需两条指令就能获取分辨率为1us的时基,不错!

最后D21x上读取内核时基的函数如下,D13x等32位MCU就没那么便利了:要读取寄存器2次且需处理读取过程中的进位情况

static inline uint64_t _read_csr_time(void)
{
    uint64_t value;

    __asm__ __volatile__ ("csrr %0, time\n\t"
            : "=r" (value) :
            : "memory");

    return value;
}

PS:RTOS SDK里d13x、d12x等读取系统时基的函数 aic_get_ticks,没有处理读取过程中可能出现的进位情况(读取时低32位寄存器发生32位进位),是否是一个BUG?!

u64 aic_get_ticks(void)
{
    return (((u64)csi_coret_get_valueh() << 32U) | csi_coret_get_value());
}

#122 Re: 工业芯 匠芯创 » 52位的GTC计时器数值为什么要特意转成格雷码?根本没法用! » 2024-08-11 10:31:59

@xdlkliang
感谢解答。我上面的需求说法有误,我要的是分辨率为1us,精度是us级(10us左右)的时基计时。
我测试了第二种方式,发现读取timeh寄存器时会再现cpu异常。寄存器读取函数如下:

static inline uint32_t _read_csr_time_lo(void)
{
    uint32_t value;

    __asm__ __volatile__ ("csrr %0, time\n\t"
            : "=r" (value) :
            : "memory");

    return value;
}

static inline uint32_t _read_csr_time_hi(void)
{
    uint32_t value;

    __asm__ __volatile__ ("csrr %0, timeh\n\t"
            : "=r" (value) :
            : "memory");

    return value;
}

RTOS SDK 1.0.5下经测试读寄存器time没有问题,读寄存器timeh时出现cpu异常:

CPU Exception: NO.2                                                                                                                                                                                               
x1(ra)   : 00000000400338b8     x2(sp)   : 000000004022d2c8     x3(gp)   : 00000000401ba318     x4(tp)   : 00000000deadbeef                                                                                       
x5(t0)   : 00000000401bbef8     x6(t1)   : 0000000000000001     x7(t2)   : 00000000deadbeef     x8(s0/fp): 0000000000000006                                                                                       
x9(s1)   : 00000000400bb7e0     x10(a0)  : 0000000000000001     x11(a1)  : 000000004022d2e8     x12(a2)  : ffffffff00000000                                                                                       
x13(a3)  : 0000000040223228     x14(a4)  : 0000000000000000     x15(a5)  : 0000000000000000     x16(a7)  : 0000000000000009                                                                                       
x17(a7)  : 0000000040223228     x18(s2)  : 0000000040223222     x19(s3)  : 0000000040150570     x20(s4)  : 00000000401829f8                                                                                       
x21(s5)  : 0000000040150900     x22(s6)  : 000000004015bd28     x23(s7)  : 00000000401c2400     x24(s8)  : 000000000000000d                                                                                       
x25(s9)  : 0000000040223222     x26(s10) : 0000000040222dd0     x27(s11) : 00000000deadbeef     x28(t3)  : 0000000000000022                                                                                       
x29(t4)  : 000000000000005c     x30(t5)  : 000000000000000a     x31(t6)  : 00000000deadbeef                                                                                                                       
mcause   : 0000000000000002                                                                                                                                                                                       
mtval    : 00000000c8102773                                                                                                                                                                                       
mepc     : 00000000400bb7f0                                                                                                                                                                                       
mstatus  : 8000000a00007880

什么问题?

#123 Re: 工业芯 匠芯创 » 匠芯创 D211,7寸mipi屏核心板 » 2024-08-09 17:51:00

另外一个值得注意的是rt-thread第三方包的代码质量很一般。

比如目前用到的Third-party packages里的beep和at24cxx的代码质量一般,使用前要优化下才能放心用。

#124 工业芯 匠芯创 » 52位的GTC计时器数值为什么要特意转成格雷码?根本没法用! » 2024-08-09 14:59:53

海石生风
回复: 9

想用GTC实现1us精度的时基计时,搞完才发现这玩意是格雷码的!格雷码转自然码要耗费几十上百个指令周期,即根本实现不了微秒级精度。

格雷码用途何在?!

#125 Re: 工业芯 匠芯创 » 匠芯创 D211,7寸mipi屏核心板 » 2024-08-09 14:47:04

luban-lite的驱动分了三层,从上到下分别是:rt-device、drv、hal。大部分情况rt-device驱动即能满足要求,但也可以配合使用drv或hal驱动,后者就是你所说的标准mcu。类似于STM32的HAL和LL驱动混用。

比如我就对pwm的drv驱动稍做修改以添加中断处理函数,从而实现STEP/DIR接口的步进电机的梯形加减速控制。原驱动已经比较完善,改动不大。

这就是我为什么D21x的片子依然跑RTOS而非Linux的原因,OS驱动完善的同时也可以当MCU用。

#126 Re: 工业芯 匠芯创 » RTOS SDK的Dynamic Module 添加C++编译选项失败 » 2024-08-08 13:24:34

这种开发方式除了C++支持问题,还有一个严重的限制就是不能在shell里查看app启动的线程,看来还是得放弃这种开发方式。

另外,发现即使是在SDK里写的app也不支持C++的iostream,只要一#include <iostream>就跑不起来。编译选项POSIX和C++支持均已选中。

#127 Re: 工业芯 匠芯创 » RTOS SDK的Dynamic Module 添加C++编译选项失败 » 2024-08-07 18:24:13

用nm工具看了下cpp源码编译生成的.o文件,C++运行环境似乎要以下这些符号,看来不好弄。

T _Z8cpp_testv
U _ZNSt8ios_base4InitC1Ev
U _ZNSt8ios_base4InitD1Ev
U _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
U _ZSt4cout
b _ZStL8__ioinit

#128 工业芯 匠芯创 » RTOS SDK的Dynamic Module 添加C++编译选项失败 » 2024-08-07 18:01:19

海石生风
回复: 3

按照10.1. Dynamic Module 使用指南生成的aic-dm-apps默认编译及运行测试都没问题。

在尝试测试C++编译,添加C++编译选项时编译失败:

编译配置文件 aic-dm-apps/hello/SConscript 添加 CXXFLAGS

from building import *

src = Glob('*.c') + Glob('*.cpp')
cwd = GetCurrentDir()

CPPPATH = [cwd]
CXXFLAGS = ' -std=c++11'

group = DefineGroup('', src, depend = [''], CPPPATH=CPPPATH, CXXFLAGS=CXXFLAGS)

Return('group')

编译输出:

$ scons --app=hello
scons: Reading SConscript files ...
args.outfile:  /home/chenss/projects/test/source/luban-lite/partition_table.h
scons: done reading SConscript files.
scons: Building targets ...
CXX hello/cpp_test.o
riscv-none-embed-g++: error:  -std=c++11: No such file or directory
scons: *** [hello/cpp_test.o] Error 1
scons: building terminated because of errors.

#129 Re: 工业芯 匠芯创 » D2X怎么构建自己的工程? » 2024-08-02 15:33:40

更正一下,eclipse也可以使用上面所说的compile_commands.json文件,这其实是一个"Compilation Database"文件。配置方法如下图:
配置好了之后eclipse就能正确识别工程配置,并提供流畅的代码补全功能。

个人还是觉得eclispe比vs code好用点,目前vs code的git插件比eclipse的差太多了。
_20240802_153645.png

配置后展示
_20240802_153958.png_20240802_154026.png

#130 Re: 工业芯 匠芯创 » AWTK UI在D21x RTOS SDK平台上性能非常差,平移动画非常卡!什么原因? » 2024-07-31 22:30:10

ArtInChip 说:
xiaoxin7 说:
ArtInChip 说:

@海石生风

有几个方面的原因,我也不能说AWTK不好:
1. 新的SDK1.0.5对QT、LVGL更好。
2. 我们有新工具的计划


AWTK后续还会适配嘛?

个人角度出发,我比较喜欢用新工具。

你所说的新工具是指QD-Plus、inoneGUI这两?

稍微看了下,两个都是国内公司做的,都深受Windows影响,UI库里的API都透着浓浓的MFC的味道。

个人不看好(个人喜好)。

#131 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 单片机IO如何控制24V正输出? » 2024-07-28 17:25:54

20kΩ电阻和100nF电容的RC常数是2毫秒,且导通阻抗RDS在VGS(th)附近的变化是剧烈的,这对导通积热的影响可以忽略吧。
驱动容性负载导通时的瞬时电流超过最大漏极电流,这个风险是否可以忽略?
_20240728_172256.png

#132 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 单片机IO如何控制24V正输出? » 2024-07-28 15:23:58

xuqm 说:

@海石生风
开关时间变长,电压电流重叠区域变大,开通损耗变大,大到超过EAS,MOS会损坏,还有,有时候只考虑开通那一段忘了考虑关断那一段,那个是靠电阻上拉,如果阻值比较大,电容大了关断会很慢

假设这个说法成立的话,那么如果VGS一直等于或稍大于VGS(th),是不是也会损坏MOS?

#133 Re: 全志 SOC » V3s/S3/f1c100s通过USB启动Linux,并把SD NAND/TF卡挂载为U盘, 可以dd或Win32DiskImager任烧写 » 2024-07-28 12:26:13

提示出错的语句为f'{x}'语法,这是python3.6起才支持的语法,很可能反而是python3没有安装。

#134 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 单片机IO如何控制24V正输出? » 2024-07-28 10:16:00

saub 说:
海石生风 说:

PMOS开关电路,很常见呀。不过要注意VGS数值不要超过12V
https://whycan.com/files/members/1798/屏幕截图_20240722_122744.png

这个电路有问题,这个GS上并一个这么大的电容,这个PMOS大负载的时候分分钟烧掉

GS并联电容是为了减小驱动容性负载导通时的瞬时电流,使其不超过MOS管的最大漏极电流,起到保护作用。实在想不出哪里会烧掉。

#135 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 单片机IO如何控制24V正输出? » 2024-07-26 16:12:50

saub 说:
海石生风 说:

PMOS开关电路,很常见呀。不过要注意VGS数值不要超过12V
https://whycan.com/files/members/1798/屏幕截图_20240722_122744.png

这个电路有问题,这个GS上并一个这么大的电容,这个PMOS大负载的时候分分钟烧掉

什么原因烧的?

#136 Re: 工业芯 匠芯创 » 请教,单片机一般如何保存定时采集的数据,要求长期保存,方便查寻历史记录。 » 2024-07-26 10:08:40

sqlite的一个优点是可靠性高,因为它经过了数十亿人、数十年的验证。

我在d21x rtt的nand flash + fatfs + sqlte上跑student example。它插入十万条数据耗时大概5秒,我多次在插入十万条数据的第4秒多时切断整机电源,数据库依然完好,只是新数据没有插入到数据库里而已。

其它存储方式要实现这种可靠性应该是要花不少精力的。

#137 Re: 工业芯 匠芯创 » 匠心创的芯片只有windows环境的下载工具吗? » 2024-07-25 21:55:51

目前SDK里有命令行下载工具:upgcmd,此工具也可以通过构建系统来调用(scons --aicupg)。但我在D21x上测试发现很不稳定,只下载成功过一次。

可以参见这里: https://whycan.com/t_10926.html#p98462

#138 Re: 工业芯 匠芯创 » 请教,单片机一般如何保存定时采集的数据,要求长期保存,方便查寻历史记录。 » 2024-07-24 16:20:16

是d21x rtt

耗损均衡是文件系统管理的,任何Flash的单个存储单元的寿命都是很有限的,所以都要实现均衡写入。没有文件系统的话就要自己实现均衡。
nor flash的特点是写入慢读取快,如果是写入为主、查询少就不建议在nor flash上跑sqlite。

#139 Re: 工业芯 匠芯创 » 请教,单片机一般如何保存定时采集的数据,要求长期保存,方便查寻历史记录。 » 2024-07-24 14:27:24

我在nand flash上试了下,插入一千条数据耗时80ms、插入一万条耗时500多ms。看来跑fs + sqlite还得是nand flash好点。

stu add 1000                                                                              
Insert 1000 record(s): 83ms, speed: 0ms/record
stu add 10000                                                                             
Insert 10000 record(s): 562ms, speed: 0ms/record

哦,我这是D21x,cpu主频高点

#140 Re: 工业芯 匠芯创 » D21x RTOS SDK 1.0.5的data分区不支持littlefs和uffs格式!难以商用! » 2024-07-24 11:23:33

tomyqg 说:

它的nftl套filex试试呗

这要花大精力去移植,还有不如修好uffs的编译bug

#141 Re: ESP32/ESP8266 » 乐鑫的工具链做得好吗? » 2024-07-23 17:38:40

各种不同工具的出现是为了迎合不同的需求。比如,交通工具就有很多种。

然而如果一个没有汽车驾照不会开车的人,没有领会驾考的意义就去漫骂汽车驾驶复杂,只会贻笑大方。

#142 Re: 工业芯 匠芯创 » 昆仑派D133CBS更换高分辨率屏 » 2024-07-23 16:29:16

wujique 说:

这不是电容屏吗?电容屏用tslib校正?

这里是进行触摸分辨率修改,当然可以在电容屏上用tslib。事实上,在linux下实现这个需求又不想改驱动,只有tslib这个方法。我之前测试过,tslib方案可行。

#143 Re: 工业芯 匠芯创 » D21x RTOS SDK 1.0.5的data分区不支持littlefs和uffs格式!难以商用! » 2024-07-23 16:15:47

wujique 说:

sd卡用fat
nor flash用littlefs
nand用uffs?

在真实项目中在norflash建fatfs,我觉得路子就不对。

是的,我也觉得有问题。

littlefs起初是为nor flash设计的,不过看到也有人用于nand flash,不知是否真能用于nand flash。
uffs专用于nand flash。
fatfs用于SD卡或U盘,将它作为内部文件系统就有点奇怪了。

其中littlefs和uffs都对意外断电做了优化,而fatfs意外断电很大概率会出错,所以并不适用于内部文件系统

#144 Re: 工业芯 匠芯创 » D21x RTOS SDK 1.0.5的data分区不支持littlefs和uffs格式!难以商用! » 2024-07-23 13:51:40

Fatfs data 分区是支持读写的,需要一个nftl 做中间层,配置那里不要用自动计算

加了nftl中间层 "nftl": { "data": { "size": "-" } }后Fatfs data 分区确实是可读写的

将data分区选择为uffs格式在编译时会出现以下编译错误
是因为分区太小。你可以改大试试

我把uffs分区大小改为100MB后依然出现同样的编译错误:

page_2k_block_128k_oob_64_data.fs file_size: 0x6720000 is over much than part_size: 0x6400000
scons: *** [output/d21x_d213ecv-demo-v4_rt-thread_helloworld/images/d21x.elf] Error 1

另外,littlefs是否优于fatfs和uffs?是否应该着重支持该格式?

#146 Re: 工业芯 匠芯创 » D21x RTOS SDK 1.0.5的data分区不支持littlefs和uffs格式!难以商用! » 2024-07-22 20:35:31

工业产品,稳定性是第一指标,需要littlefs或uffs这类意外掉电不容易出错的fs,fatfs不是太合适。

#149 Re: 工业芯 匠芯创 » D21x RTOS SDK 1.0.5的data分区不支持littlefs和uffs格式!难以商用! » 2024-07-21 15:33:00

进一步测试发现,只有选中FATFS格式下的auto calcuate image size选项才能成功,即不能实现一个可读写的分区。

即这SDK不能保存任何运行时数据,无法商用。

#150 工业芯 匠芯创 » D21x RTOS SDK 1.0.5的data分区不支持littlefs和uffs格式!难以商用! » 2024-07-21 13:51:00

海石生风
回复: 13

分区表为:

    "spi-nand": { // Device, The name should be the same with string in image:info:media:type
        "size": "128m", // Size of SPI NAND
        "partitions": {
            "spl": { "size": "1m" },
            "env":      { "size": "256k" },
            "env_r":    { "size": "256k" },
            "os":  { "size": "8m" },
            "rodata":  { "size": "16m" },
            "data": { "size": "16m" }
        }
    }

将data分区选择为littlefs格式在烧录时会出现以下错误:

Firmware Component:
name:      image.target.data
partition: data
attr:      mtd;optional
Media:     SPI_NAND(2)
[E] mtd_spinand_block_isbad()124 Offset: 0x1000000 is out of mtd size: 0x1000000.
[E] nand_fwc_mtd_write()348  Write block is bad, skip it.
[E] nand_fwc_mtd_write()320 Not enough space to write mtd data

并且RTOS内mount失败。

将data分区选择为uffs格式在编译时会出现以下编译错误:

page_2k_block_128k_oob_64_data.fs file_size: 0x1080000 is over much than part_size: 0x1000000
scons: *** [output/d21x_d213ecv-demo-v4_rt-thread_helloworld/images/d21x.elf] Error 1

data分区只有在格式为fat32时才能成功挂载,此格式在意外关机时容易出现错误,不能用于商用环境中的可读写的文件系统。

#151 Re: RISC-V » 如果将D213ECV晶振从24M的换成10M的,修改什么配置能够正常运行起来啊 » 2024-07-20 18:53:39

VisionShow 说:
海石生风 说:

参照芯片手册的CMU章节修改PLL倍频和分频设置即可

估计有困难,  D213启动的设置是一个PBP文件,  这个程序是闭源的

晶振频率小导致经PBP初始化后的DRAM频率变小而已,又不是运行不了程序。在PBP之后修改PLL设定即可,有啥问题?

#153 工业芯 匠芯创 » AWTK UI在D21x RTOS SDK平台上性能非常差,平移动画非常卡!什么原因? » 2024-07-18 17:36:18

海石生风
回复: 21

用开发板D213ECV-DEMO-V4评估,将image_manager_set_max_mem_size_of_cached_images函数参数改为16M ,UI资源写入到NAND的文件系统内,跑chart demo。

取消Don't use window animation cache选项时没有平移动画效果,造成界面切换会延迟一两秒,体验非常差!选中此选项时平移动画非常卡,也是无法商用。

平移动画开销应该不大呀,这是为何?

#154 Re: 工业芯 匠芯创 » 可否在vscode环境下只打开构建后的project目录 » 2024-07-11 17:31:24

我看了下,RTOS SDK已经支持这种需求,原理是使用RT-Thread的Dynamic Module功能实现内核与应用的分离。

相关文档在RTOS SDK文档的“10.1. Dynamic Module 使用指南”章节。

#156 Re: 工业芯 匠芯创 » 昆仑派D133CBS更换高分辨率屏 » 2024-07-08 10:52:41

@venusmomo
你要捕获触摸事件,捕获后修改触摸坐标,再重新分发触摸事件。即从事件的源头进行坐标转换,初始化时改个坐标范围没啥用。

#157 Re: 全志 SOC » D1 用主线的 linux 装了 debian lxde,rgb 屏桌面很卡,动一下 Xorg 的 cpu 占用就会非常高 » 2024-07-08 10:34:36

Xorg并不只使用opengl,它可以通过DRM来使用显卡的2D加速,sipeed流畅的原因应该是这个,它的DRM支持D1的G2D。

#158 Re: 工业芯 匠芯创 » 昆仑派D133CBS更换高分辨率屏 » 2024-07-03 17:47:37

哦,你这是RTOS环境,那简单啦,不改触摸配置,在低层触摸事件低层做分辨率转换,将小分辨率强行拉到大分辨率上即可。

#159 Re: 工业芯 匠芯创 » 昆仑派D133CBS更换高分辨率屏 » 2024-07-03 17:30:57

不是芯片或配置的问题,触摸板的分辨率是个物理参数。可以用tslib经校准后强行拉到别的分辨率,或从淘宝就可以搞到别的分辨率的板但外形尺寸不一定合适

#161 Re: 全志 SOC » LVGL 使用 GPU 的 DEMO » 2024-07-02 20:04:21

对比通过wayland来使用GPU会怎样?

#162 Re: 全志 SOC » 外接高速adc的问题 » 2024-07-01 11:02:19

最好用带并口的MPU,不然有点难搞。

#163 Re: Xilinx/Altera/FPGA/CPLD/Verilog » AG RV2K 调试 » 2024-06-28 10:38:53

开发环境基于Eclipse或VS Code都没有啥问题,这是当前开源且功能丰富的工具的两大主流选择。问题是PlatformIO主要面向萌新,有点能力的老鸟用这个就很不搭调。

这问题其实跟MounRiver差不多,起初MounRiver为了迎合Keil/IAR开发者的口味,对Eclispe大肆裁减,企图将Ecipse改为Keil,这引起Eclipse开发者的不满。

于是就有非社区版和社区版之分,非社区版裁掉了很多Ecipse特色的实用功能就是个开源版的Keil,而社区版则没有功能裁减只是增加了WCH家的插件。

我个人认为,作为一个面向各种资历的开发者的工具,没必要为了迎合新人而降低工具的天花板,把新人的入门引导做好即可。

#164 Re: 工业芯 匠芯创 » 请教,单片机一般如何保存定时采集的数据,要求长期保存,方便查寻历史记录。 » 2024-06-25 20:33:12

@Gentlepig
写一大串没用的,难道你就没有怀疑是你输入的命令有问题?写了一大串也没有把重要细节show出来!

#165 Re: 全志 SOC » 全志v3s的dts怎么配置pwm0,让其管脚PB4在系统初始化阶段不是3.3v高电平 » 2024-06-25 15:22:05

你这PWM这么久了还没搞定呀。试下在Uboot里将该PWM所处的引脚配置为输出并输出低电平,或者在Uboot里也配置为PWM但占空比设为0。

#166 Re: 全志 SOC » 使用交叉编译器编译C++文件报错 » 2024-06-24 17:34:14

建议先找个深入浅出的完整的教程来学习,如果基本概念都有弄清没就摸石头过河,不太好走。

#167 Re: 全志 SOC » 使用交叉编译器编译C++文件报错 » 2024-06-24 09:24:13

有点无语,你把ARM平台的库安装到X86系统?

#168 Re: 全志 SOC » 使用交叉编译器编译C++文件报错 » 2024-06-23 13:52:55

脑袋是清醒的么?“-I/usr/local/include ”,交叉编译你include HOST的头文件做什么?

#169 Re: 全志 SOC » 全志t113芯片烧录问题求教 » 2024-06-21 21:32:49

器件数不超过10个才叫“没有过多的器件”,你这里器件多着了,随便一个退耦电容接触不良都会导致整个系统出问题。

#170 Re: 全志 SOC » 全志v3s的PWM0引脚怎样在上电启动过程中输出低电平 » 2024-06-21 10:10:14

游侠TT 说:
4610 说:

默认是悬空吧,外部加下拉电阻了吗

没有加下拉电阻,pwm0直接连接外围一个高压包点火装置的电路,内核启动过程中引脚会输出3.3V,会把电路导通,导通时间一长可能会有把三极管烧毁的风险。

这么危险的电路竟然不加下拉电阻,胆子也太大了!

#171 Re: 工业芯 匠芯创 » 匠芯创 D211,7寸mipi屏核心板 » 2024-06-20 17:44:25

ArtInChip 说:

mipi一般是竖屏,而且还要做竖屏转横屏,要双buffer。一般情况下,仪表盘还是建议用RGB 横屏,最大可以1920x1200

汽车仪表屏一般用LVDS的吧

#172 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-06-19 16:21:02

fj 说:

之前拿RK3588,代理回复一次至少拿20万的货才有售后

果然有大家风范,小户人家高攀不起呀!不过这20万是pcs还是RMB?

#173 Re: 全志 SOC » 自制H3开发板,加散热片才能运行,求助 » 2024-06-18 10:33:57

样板怎么能只做一片呢,要做两三片看问题是否有共性,才好判断是设计问题还是制板工艺问题。

#174 Re: 全志 SOC » lichee nano rust 交叉编译失败(依赖 libasound) » 2024-06-09 12:22:00

你弄成静态链接编译了,但libasound.so是动态库肯定链接不上呀。要么提供静态库,要么改为动态链接编译。

#175 Re: 工业芯 匠芯创 » D133 Eclipse工程在Linux系统下编译的解决办法 » 2024-06-09 11:09:44

因为upgcmd模式下的USB不是tty这种标准设备,而是自定义的USB设备。

upgcmd会根据VID和PID自动查找USB设备而无需-d选项,只有在接入了多个同类设备时才需要使用-d选项来区分。

#176 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » AI是否能统一硬件设计行业? » 2024-06-05 12:35:45

@aquasnake
你是刚通网不久吧,嘉立创有Layout服务,可以去看看要多少钱,耗不了多少流量。思想还停留在十年前,也不怕人笑话。鸟你都是浪费时间。

#178 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » AI是否能统一硬件设计行业? » 2024-06-04 09:58:14

@aquasnake 看来你对AI和围棋都一无所知啊。围棋的棋路变化超过宇宙原子总数,即使加上权重也很难通过穷举法遍历出最佳棋路。
它是通过学习棋谱和实践锻炼来提高棋力,所以才叫作人工智能。它具有实实在在的棋力,而非冰冷的算法。

#179 Re: 8051/STC8/AT89C51/N76E003 » STC32G12K128的Dhrystone性能测试 » 2024-06-03 17:33:40

32位80251?为什么不选RISC-V?后者无论性能、生态、受权、扩展都能秒前者!

#180 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » AI是否能统一硬件设计行业? » 2024-06-03 17:26:07

目前来看,硬件上的AI自动化进度有点慢。现在一块普通4层板的Layout人工费要一两千,如果AI能做这个工作,即使收费一两百都是双赢。所以这个市场不可估量,然而目前确实还没有能拿得出手的AI。
先把Layout做好吧,10年对于IT领域是个有点久远的时间长度了。

#181 Re: ESP32/ESP8266 » 乐鑫的工具链做得好吗? » 2024-06-03 14:08:39

C/C++的构建系统就这样,乐鑫SDK用的是常用的构建系统。那些只会使用Keil/IAR工具的人,其对C/C++构建的知识可以认为基本为零。
所以为会认为乐鑫的SDK恶心。

#182 Re: Cortex M0/M3/M4/M7 » 【重开旧坑】8051上的CMSIS-DAP调试器——TinyDAP开发过程记录 » 2024-05-31 16:53:42

我觉得MCU+FPGA方案性能虽好,但复杂度太高了,容易影响稳定性。性能和稳定性应该是调试器在使用体验上最重要的指标。
我觉得这两种方案比较容易实现性能和稳定性:带FPGA的MCU、先楫半导体的 HPM5331

但带FPGA又带USB HS PHY的MCU似乎没有。

HPM5331的SEI接口可以适配任意时序的串行通信协议,并且有两个SEI及USB HS PHY

#183 Re: 工业芯 匠芯创 » D133 Eclipse工程在Linux系统下编译的解决办法 » 2024-05-31 16:30:47

上面那个udev rules就是通过udev添加设备节点呀: SYMLINK+="aic0"
USB设备接入后就会自动在/dev目录下生成aci0节点。其实不一定要加这个节点,只要权限许可就可以访问了。

另外,建议多了解udev。

#184 Re: 工业芯 匠芯创 » D133 Eclipse工程在Linux系统下编译的解决办法 » 2024-05-31 11:30:10

通用USB设备默认似乎不会在/dev目录添加节点,可以通过udev来添加其节点,并随便修改权限模式为666:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="33c3", ATTRS{idProduct}=="6677", MODE:="0666", SYMLINK+="aic0"

#185 Re: 工业芯 匠芯创 » D133 Eclipse工程在Linux系统下编译的解决办法 » 2024-05-30 15:40:32

Linux里的文件权限管理比Windows严格,无论是tty还是USB设置都需要用户对其有访问权限,可以用udev rules修改设备文件的权限模式来获取访问权限。

#186 Re: 工业芯 匠芯创 » d133上电时,can总线上正好有其它设备正在发送数据,d133有很大概率报can接收错误。 » 2024-05-25 12:16:06

因为CAN规范的规定,大部分芯片的CAN外设都是差不多的。CAN收发出现错误会累计错误计数,只有当错误计数达到一定阀值才会触发bus off异常,此时CAN控制器会进入reset状态。
在reset状态下不能进行正常的收发处理,需要设置其状态到normal状态才能进行正常收发。

#187 Re: RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2024-05-23 17:27:08

参照上面SEGGER那个非常有问题的测试对比文章,我用Zig写了类似的测试源码,其中两个测试结果:

$ zig build size --release -Dtarget=arm-freestanding-gnueabi -Dcpu=cortex_m23
text    data     bss     dec     hex filename
28828      16       0   28844    70ac /home/chenss/workspace/zig/code_size/zig-out/bin/code_size
$ zig build size --release -Dtarget=riscv32-freestanding-gnueabi -Dcpu=sifive_e34
text    data     bss     dec     hex filename
31326     232       0   31558    7b46 /home/chenss/workspace/zig/code_size/zig-out/bin/code_size

跑了多个测试发现RISC-V跟ARM的代码密码其实差不多(Zig对RISC-V32的支持要弱于ARM32)
详情参见这里:https://gitee.com/ufbycd/code_size

#188 Re: RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2024-05-21 16:44:00

echo 说:

@nongxiaoming
RISC-V有AC6编译器吗?编译器是指令集和芯片的重要组成部分,没有编译器支持,MCU芯片就是块废铁。

AC6不就是Clang(LLVM)编译器,很矜贵么?!Clang原本就支持ARM和RISC-V,ARM不过是做了少量适配和优化而已。

#189 Re: Cortex M0/M3/M4/M7 » 【重开旧坑】8051上的CMSIS-DAP调试器——TinyDAP开发过程记录 » 2024-05-20 19:16:43

现在绝大部分人做调试器的方向都是错的,都是想着做低成本,而不是把东西做好。

导致现在在淘宝上买的DapLink很多都不稳定,要买多个对比实测才知道好不好用。真TM的一言难进!

#190 Re: RISC-V » RISC-V代码密度相比Cortex-M差距明显 » 2024-05-20 11:58:43

这个测试其实有问题,测试代码全部是调用math.h库函数。而不同编译器所用库是不同的,即本质上各个测试用例的测试代码并不全部相同。

#191 Re: 工业芯 匠芯创 » D2X怎么构建自己的工程? » 2024-05-18 23:18:52

不过上述方法有个大问题,因为很多编译相关的宏没有设置,导致工程里的很多符号没有被eclipse识别,这样写代码时很多东西不能自动补全,极不方便。

另一方面,按理来说,重复执行 scons --target=eclipse_sdk 后eclipse应该可以自动更新工程,并且应该不会的编译问题才对。

另一种工程管理方法:用VS Code配合bear(https://github.com/rizsotto/Bear)工具就可以检索复杂工程,用法如下:

* 先安装好bear工具,ArchLinux系统可以直接安装:sudo pacman -S bear
* 配合bear构建工程来生成clang的检索文件compile_commands.json:bear -- scons -j16
* 然后使用VS Code打开工程的文件夹即可,此时所有编译时用到的文件内的符号都能自动补全
* 工程因menuconfig更新后,需要重新执行第2部的bear构建来更新检索文件

#192 Re: 工业芯 匠芯创 » D2X怎么构建自己的工程? » 2024-05-18 22:16:34

_20240518_220850.png
_20240518_221142.png
_20240518_221200.png
_20240518_220928.png

测试了下,通过“Existing Code as Makefile Project”导入,并如上图配置构建。

一个完整的构建耗时10秒左右,可以接受。

#193 Re: 工业芯 匠芯创 » d133打开网口后,编译报错。 » 2024-05-17 10:04:55

复习下C语言的基础吧。只有位于BSS段的全局变量才会被自动初始化为0,而且这个初始化不是语言本身实现的,而是执行main函数之前的启动代码执行的。

#194 Re: 工业芯 匠芯创 » D133 Eclipse工程在Linux系统下编译的解决办法 » 2024-05-17 09:48:26

tomas 说:

eclipse很慢的吧,慢的受不了

自己电脑配置差或者不会用就不要乱BB。
举个简单的例子,同样的构建脚本,在eclipse内构建会比在终端上构建要快,因为eclipse对编译器的输出信息有优化。
在并行编译时,编译器输出信息到标准输出过快也是瓶颈之一。
当然了,如果你的电脑配置差,编译速率本身就慢,于是编译器输出信息没就那么快也就达不到标准输出的瓶颈,从而体现不到别人的优化。

#195 Re: ESP32/ESP8266 » 乐鑫的工具链做得好吗? » 2024-05-11 11:16:16

工具链做得不好,本质上是因为C/C++相较于rust、zig、go这些自带构建系统的语言来说其构建系统就是一坨屎。

#196 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 单片机io检测按键输入,电路上如何设计,使可以检测是否接上按键? » 2024-04-27 11:28:25

单个开关要识别两类状态:连接器插拔状态和开关的电平状态。可以使用带插拔识别的连接器,如3脚的DC连接器,其插头插入时会将其内部的弹片顶开从而可以在电路上产生电平信号。

多了个插拔识别而已,正常需求。

#197 Re: BLDC电机驱动 » 一款成本极低的开源FOC驱动 » 2024-04-23 18:58:57

dovahiobbg 说:

现在 芯片价格回复喽 zet6 竟然只要9块钱 哈哈哈

问题是产品的周期是很长的,只要有不确定的风险存在,就很难保证在产品的整个周期内它不涨。

#198 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » AI是否能统一硬件设计行业? » 2024-04-21 13:37:22

echo 说:

@海石生风
等自动驾驶完全实现了,也就是AI把路上的司机取代了,再来统一硬件设计行业吧。
我自己开车也做软硬件设计,开车比软硬件设计容易多了。

你也分不清PCB Layout和电路原型设计?我上面说了一大堆都是Layout方面的AI自动化,没说AI搞电路原型设计。

#199 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » AI是否能统一硬件设计行业? » 2024-04-19 21:08:49

histimes 说:

我就是研究ai的,可以说,只要ai的理论体系没有根本性的突破,让ai搞逻辑类类的项目都是没戏的。不说硬件设计,看看它设计的软件,能代替人吗?只能用来查询小例子

为什么首先联想到的不是Layout?硬件设计只有电路原型设计吗?

所以说搞AI的人不懂PCB,只会下棋。

#200 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » AI是否能统一硬件设计行业? » 2024-04-18 22:35:06

echo 说:

先把自动布线搞到能用再说吧。二十年前的EDA软件就有自动布线了,上学的时候还研究过,后来真正入行后发现正规项目根本没人用那玩意。

十多年前那种迷宫算法跟如今的大规格神经网络不在一个层次,至于为何目前还未有拿行出手的,上面已经说了,AI和PCB这两拔人的鸿沟比较大。

但这个商机就在这里,不久的将来必然有企业跨过这个鸿沟。

#201 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » AI是否能统一硬件设计行业? » 2024-04-13 15:10:08

ubuntu 说:

@海石生风
有没有可能家里创在憋大招?

EDA大厂已经在搞了,但立创就不好说。

#202 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » AI是否能统一硬件设计行业? » 2024-04-13 15:04:09

lyg116 说:

叫ai有点吹过了,都解决简单问题行,复杂一问一个咨询厂商

AI做PCB Layout其实就是AI画图,只是规则跟正常图像的不同而已。

#203 Re: Cortex M0/M3/M4/M7 » 求教如何让MCU上电时立即halt » 2024-04-13 12:13:49

将复位引脚保持在低电平让其保持复位状态,然后再连接SWD即可。

#204 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » AI是否能统一硬件设计行业? » 2024-04-13 11:51:25

用AI去做PCB Layout,还是很有用的,但目前还没普及,应该是AI水平有限。

大概是做AI的人不懂PCB只会下棋,或者做PCB EDA工具的人不懂AI只会迷宫算法。

但在不远的将来,像PCB Layout这种烦琐的体力劳动必定会被AI替代。设计人员只需设置好约束规则即可。

#205 Re: Cortex M0/M3/M4/M7 » 单片机作为Modbus主设备定时发送固定数据,不做设备返回数据判断的话,发送和返回会不会冲突? » 2024-03-28 09:39:22

Gentlepig 说:

@海石生风
用的是rs485,一直是用一个单片机io口管脚控制/rd和de管脚的,没法实现同时发送和接收...

我还是想想办法,发送后就等待串口接收吧,或者等到超时。

那是不行。我一般只要IO口足够时都会分开控制RD和DE引脚,预留冲突检测的可能性。

#206 Re: Cortex M0/M3/M4/M7 » 单片机作为Modbus主设备定时发送固定数据,不做设备返回数据判断的话,发送和返回会不会冲突? » 2024-03-27 17:38:24

肯定会冲突,modubs没有MAC。可以参考以太网介质访问控制协议CSMA/CD,自己实现一个MAC就可以解决冲突问题了。我以前做电力线载波通信时实现过,不难。口诀如下:

发前先收,空闲发送;边发边收,冲突停止;随机延迟重试。

因为是半双工通信,可以一边发送一边接收,如果接收到的跟发送的不一致就说明总线有冲突,有冲突就随机延时再重试。

#207 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-03-26 18:43:59

许可协议都不遵守的就是流氓,流氓还有什么好讲的!拒之于千里之外才是正道!

#208 Re: 工业芯 匠芯创 » 请教:D13*做hmi的话效果咋样 » 2024-03-26 17:03:42

好几年没用ST的芯片了,有点记不太清了,STM32F7/H7似乎并不支持DDR RAM?

#209 Re: 工业芯 匠芯创 » 请教:D13*做hmi的话效果咋样 » 2024-03-26 16:29:25

D13x内置的内存规格为:
        64Mb,16-bit位宽,最高频率 200MHz DDR
        32Mb, 8-bit位宽,最高频率 200MHz DDR
注意,内存是DDR时序的,一周期传输两次数据,而SDRAM一周期传输一次数据。我记得,STM32F7/H7也支持DDR RAM。

luban-lite是SDK的名称,兼容RT-Thread和FreeRTOS,也支持裸机开发。目前使用SDK需要了解Kconfig和scons(也就是RT-Thread那一套)。

#211 Re: 全志 SOC » T113-S3如何将自己制作的动态库打包进镜像里的usr/lib目录下 » 2024-03-26 12:22:30

如果镜像的文件系统是ext4之类有写入功能的格式,可以挂载SDK编译生成的镜像文件,然后就可以直接复制进去了。

#212 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-03-26 11:23:57

凡是要签协议才能拿到SDK的芯片方案,老子都不用!“伸手党毒打”?你可知uboot、linux、buildroot、openwrt是什么许可协议?

要签协议才能拿到GPL源码?也就国内这些不知廉耻的人才能做得出来!

#213 Re: 全志 SOC » f1c100s用tf启动,根文件系统是buildroot,如何不用插拔tf卡直接更换设备树或者内核 » 2024-03-26 10:44:50

嵌入式Linux在开发阶段通常网络引导的方式启动嵌入式系统:uboot通过tftp加载mtd分区内容到内存,再通过nfs挂载位于PC端的文件系统。

f1c100s如果不能在uboot启用以太网的话,可以在板子进入Linux系统后通过网络接收内核和设备树的mtd分区内容,然后用mtd工具直接写入mtd分区(flash),然后重启。

#214 Re: 工业芯 匠芯创 » 关于GUI工具的选型建议 » 2024-03-26 10:27:51

Fomalhaut 说:
海石生风 说:
Fomalhaut 说:

刚才去slint官网看了一下,开源版本还在啊?

GPL开源不能商用

GPL可以商用,只是必须公开源代码。FSF甚至认为不允许商用的不算自由软件。

商用 等于 不公开源码!不然为何会有商业授权?

#215 Re: 工业芯 匠芯创 » RISC-V 相比ARM核,ArtInChip D211系列性能测试大解密,数据供参考。 » 2024-03-25 17:52:09

XIVN1987 说:

@海石生风

RISC-V 指令集中,P 是 Packed SIMD,类似于 ARM 处理器的 SIMD/NEON 功能,,V 是 vector 扩展,,是另一套指令集。。

哦,看来是我搞错了,P扩展是DSP+简单SIMD指令;V扩展是加强版的SIMD指令,RVV指的是V扩展,一般要高性能MPU才有。

#216 Re: 工业芯 匠芯创 » RISC-V 相比ARM核,ArtInChip D211系列性能测试大解密,数据供参考。 » 2024-03-25 15:49:18

XIVN1987 说:
海石生风 说:

D211对比A7还有一个优势,A7的NEON需要特殊的数据结构才能实现SIMD、而RISC-V的RVV不需要特殊数据结构只要给定数组就能开启SIMD加速。

可惜 D211 没有 RVV 扩展。。

确实,才发现D21x系列核心型号不带P没有RVV,D13x作为MCU却有P支持RVV。有点奇怪!?

#219 Re: Cortex M0/M3/M4/M7 » 许久没来水个帖,瑞萨RA8D1超频到720MHz,CoreMark跑出4000分 » 2024-03-22 13:40:06

XIVN1987 说:

Cortex-M7 是双发射的,,

M7 内核的 RT1170 主频 1GHz,,CoreMark 6400 多。。所以论性能 M85 应该还是不如 M7 的

发表言论前为什么不查查Cortex-M85是不是也是双发射的呢?

官方给出Cortex-M85的指标是6.28 CoreMark/MHz。相比Cortex-M7,标量运算性能提升30%、向量运算性能提升400%

#220 Re: ST/STM8/STM8S/STM8L » 新手求助stm32寄存器配置 » 2024-03-21 16:37:03

实时语法分析,在码字的时候编辑器实时进行语法分析,有语法错误就会高亮显示。

将鼠标悬停在出现错的宏上,如果编辑器找不到其定义就会提示该宏未定义。

#221 Re: 工业芯 匠芯创 » 入坑D133 » 2024-03-21 14:22:33

WhyCan_dev_pp 说:

有幸了解到这颗点屏强芯,想了解SDK如何获取,淘宝客服回复该芯片的SDK是开放的,去官网也没看到开放的资源,有了解的兄弟么?

太粗心了吧,官网的文档中心里有讲SDK的获取方式。

#222 Re: ST/STM8/STM8S/STM8L » 新手求助stm32寄存器配置 » 2024-03-20 12:28:09

新手其实应该用VS Code之类的带有实时语法分析的编辑器好点,码字的时候就能显示出错误。

这样,像楼上这种低级错误是不可能留到编译阶段的。稍微熟练之后,一般都不会在编译阶段出现语法错误了。

#223 Re: 全志 SOC » 请问,为何/dev/目录下面没有ttyUSB 相关文件? » 2024-03-18 11:32:48

检查USB转串口芯片是否支持CDC,不支持就要安装该芯片的VCP驱动。

如CH340G芯片只支持VCP驱动,那么就要安装CH341SER驱动。

#224 Re: 全志 SOC » 请问,为何/dev/目录下面没有ttyUSB 相关文件? » 2024-03-17 22:33:40

Linux默认支持CDC驱动,检查芯片是否支持,否则就需要安装厂商的VCP驱动。

#226 Re: 工业芯 匠芯创 » 关于GUI工具的选型建议 » 2024-03-15 10:12:12

zailiy 说:

就单纯的用DMA读GPIO输入,不模拟时序,速度可以到50M吧

这个是同步传输,总得有个时钟信号吧,而且通常是主控发出时钟信号,不用GPIO模拟时序,怎么实现读取?

#227 Re: 全志 SOC » adb提示No space left on device » 2024-03-14 17:17:49

你的rootfs的格式应该是romfs之类没有写入功能的文件系统,要更换带有写入功能的文件系统

#228 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 屌炸天的技术(cpu偷梁换柱) » 2024-03-14 16:37:54

达克罗德 说:

是啊,远古时代IBM这些大公司,工程师都是本地一个鼠标键盘显示器就行,全公司共用一台主机。我上计算机课时老师就是这么介绍的,感觉概念很超前

那时候的电脑都是庞然大物,而且价格非常昂贵,不可能每个工位都摆一台。

#229 Re: 工业芯 匠芯创 » 关于GUI工具的选型建议 » 2024-03-14 16:19:36

zailiy 说:

想用D213做 50M的数据采集,GPIO口接并口的ADC,通过DMA读取IO口输入,不知道是否可行

GPIO模拟时序?大概率不行。

应该尝试用PBUS模块作并口。

#230 Re: 全志 SOC » adb提示No space left on device » 2024-03-14 15:12:56

首先,“/” 分区是只读的,可以重新mount为rw解决;但应该分区确实已经没有任何剩余空间了,重新mount为rw也没用。

应该重新打包rootfs,预留出空闲空间。另外我怀疑你的rootfs是romfs之类的只读文件系统,是的话要更换其文件系统为有写入功能的格式。

#231 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 屌炸天的技术(cpu偷梁换柱) » 2024-03-13 11:03:32

这不就是上个世纪六七十年代PC还没诞生的远古时代所流行的大型机!?

#232 Re: 工业芯 匠芯创 » d13x系列封装 » 2024-03-11 16:57:45

有个简单的操作方法,我看贵司已经将芯片挂到立创商城上了;那么只要在立创商城上绘制好符号和封装,LCEDA可以直接用、KiCAD和AD也可以白嫖立创的东西来用。
实现方式简单,皆大欢喜。

#233 Re: 司徒开源 » RK3588 开源掌机 16+256 » 2024-03-09 12:11:43

wujique 说:

意思是可以直接安装各种apk玩?
屏幕带触摸吗?

既然用apk,为何不用手机+手柄而要额外花一两K?

#234 Re: 工业芯 匠芯创 » tcp client连接tcp sever,当tcp sever关闭后,tcp client仍能发送成功? » 2024-03-09 11:59:50

socket有好多配置项(block/non-block/keep-alive等),API函数也有flags,说了一大堆也不见代码是什么鸟样。一般人都懒得给你猜……

"Talk is cheap. Show me the fcking code!" —— Linus Torvalds

#235 Re: 工业芯 匠芯创 » tcp client连接tcp sever,当tcp sever关闭后,tcp client仍能发送成功? » 2024-03-07 13:22:16

有可能是tcp server的关闭流程不正确,导致操作系统内核没有将相应的tcp资源释放,此时客户端的send请求依然被操作系统响应了。

#236 Re: 全志 SOC » 硬盘损坏,更新了mango R3的镜像后,发现不能重启,重启就报EXT4的dump » 2024-03-07 09:11:49

willX 说:
海石生风 说:

先rootfs挂载为read only,备份rootfs,格式化rootfs所在分区,再恢复。

感谢回复,想请问下,你这样备份后又恢复rootfs的原因是什么啊?还请能否仔细描述下原因,非常感谢。

文件系统可读不可写,重新格式化不就OK啦

#237 Re: 全志 SOC » 硬盘损坏,更新了mango R3的镜像后,发现不能重启,重启就报EXT4的dump » 2024-03-06 16:08:15

先rootfs挂载为read only,备份rootfs,格式化rootfs所在分区,再恢复。

#239 Re: 工业芯 匠芯创 » D13x有电机FOC硬件外设? » 2024-03-01 10:17:58

ArtInChip 说:

@海石生风

有PWM的例程

编码器、硬件滤波器、硬件FOC电流环,这些才是主要特色,但凡MCU都有PWM。

#240 Re: 工业芯 匠芯创 » D13x有电机FOC硬件外设? » 2024-02-29 11:02:06

ArtInChip 说:
海石生风 说:

这个是有的,D13x显控一体。定时器多达26个。


如果是伺服驱动器应用,建议选择M6800系列,SDK是分开的。

那期待工业控制相关外设的文档及SDK能早日开放,我做的产品大多就是都包含屏显和电机控制的。

#242 工业芯 匠芯创 » D13x有电机FOC硬件外设? » 2024-02-28 16:47:05

海石生风
回复: 7

看见贵司官网已更新,发现有下面这张图片。为何在目前的文档上没有体现?或者是未发布的新型号?
D13x工业控制特性

#243 Re: Cortex M0/M3/M4/M7 » 嵌入式实时操作系统的实时性能不能满足电机控制,多轴联动的需求? » 2024-02-26 10:46:58

你对RTOS的理解有误吧。RTOS的“实时”指的是系统延迟不随任务复杂度增加而变化,可以认为软件时序是确定的。
要想响应快,加大主控的主频、或增加处理核心即可。

#244 Re: 全志 SOC » f1c200s 和 v3s 的手册中 工作温度都是 -20~70℃,有工业级温度的么? » 2024-02-24 23:24:00

T113-i、A40i是工业级的。全志是似乎带i后缀的就是工业级的。

#245 Re: 工业芯 匠芯创 » 关于GUI工具的选型建议 » 2024-02-20 22:03:48

Fomalhaut 说:

刚才去slint官网看了一下,开源版本还在啊?

GPL开源不能商用

#246 Re: 全志 SOC » Qt不能在小内存64M之内稳定运行平反,超多案例。 » 2024-02-19 10:17:06

睡眠不足 说:

这是用什么写的UI?CPP还是QML呢?

64MB内存跑QML基本不可能。他这个是widget控件,而且应该是静态连接Qt。正常来说,128MB内存跑Qt都很吃力!

#247 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 基于LVGL的嵌入式声明式UI框架zdec略有小成! » 2024-02-05 15:59:35

最近几天在思考热加载时突然醒悟,@达克罗德所提的“vdom diff”方式非常有助于实现热加载功能。
因为这种模式下的UI声明跟UI状态是分开的,像flutter分成了三颗树,分别对应UI声明、UI状态、UI渲染。热加载时不能影响UI状态,即要将UI状态独立出来,去加载没有状态的部分,这个部分其实就是UI声明。
所以反过来,flutter为什么要这样做,很程度是因为它要实现热加载功能。

#248 Re: 工业芯 匠芯创 » 请问有D13X的usermanual吗? » 2024-02-05 15:20:56

问手册都变成月经贴了,把相关资料链接放在本坛显眼的地方吧@ArtInChip

#249 Re: 全志 SOC » V3S 编译最后报错 E而且lcd设备也没有起来 » 2024-02-05 14:41:22

modprobe: can't change directory to '/lib/modules': No such file or directory

/lib/modules文件夹存放的是内核模块

#250 Re: 全志 SOC » 求指导,T113-S3 tinasdk如何配置板子启动后以太网自动启动和获取Ip » 2024-02-05 14:36:28

脚本:/etc/init.d/S20network

#!/bin/sh
#
# Start the network....
#

case "$1" in
  start)
    printf "Start dhcpc:  "
	/sbin/ifconfig lo up
	/sbin/ifconfig eth0 up
	udhcpc &
    [ $? = 0 ] && echo "OK" || echo "FAIL"
	;;
  static)
    printf "Set network IP: "
	/sbin/ifconfig lo up
	/sbin/ifconfig eth0 192.168.1.127 netmask 255.255.255.0 up
	/sbin/route add default gw 192.168.1.1
	echo -e "nameserver 202.96.134.133\nnameserver 202.96.128.166" > /etc/resolv.conf
    [ $? = 0 ] && echo "OK" || echo "FAIL"
	;;
  stop)
    printf "Bring down network: "
        killall udhcpc
	ifconfig lo down
	ifconfig eth0 down
	[ $? = 0 ] && echo "OK" || echo "FAIL"
	;;
  restart|reload)
	"$0" stop
	"$0" start
	;;
  *)
	echo "Usage: $0 {start|stop|restart}"
	exit 1
esac

exit $?

#251 Re: 全志 SOC » d1s/t113s如何旋转屏幕?尝试了g2d,但是需要手动调用接口,但是qt如何调用? » 2024-02-05 14:01:17

在framebuffer框架下应该难免要改Qt的内部渲染来实现。

如果支持wayland的话,在wayland框架下应该无需Qt源码就可以实现,将g2d放到合成器里就可以了。

#252 Re: 全志 SOC » buildroot-tiny200 (F1C100/200s) 开发包近期更新内容 * 已支持DVP摄像头 *,支持SPI NAND » 2024-02-04 16:02:29

参考这个帖子 https://whycan.com/t_10597.html,解决DNS污染。实测github的clone速率为170.00 KiB/s左右,还可以接受。

#253 Re: 工业芯 匠芯创 » ArtInChip匠芯创D122BBV工业级HMI BOARD核心板 » 2024-02-03 08:37:20

不要阴阳怪气,具有类似功能的消费级方案太多了,但工业级方案非常少。能多一个工业级方案选择非常难能可贵。
同样功能的主控或存储芯片,工业级的价格通常是消费级的两倍甚至更多。不要跟我说,“我以前用消费级芯片,用你这个替换成本要高很多啦,吧啦吧啦……”,没意思!

#254 Re: 全志 SOC » 我的ubuntushi 22.的编译uboot的时候需要python 但是就是安装不上不了 » 2024-02-02 09:28:17

python是一个虚拟的包,且没有候选,所以安装不了。python2、python3才是实体的包。

#255 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 以前github还能断续访问,最近几周好像彻底被墙了。点解 » 2024-02-01 17:12:30

FastGithub的原作者已经删库了,是何原因?另外,我感觉它的原理有点复杂,远不如我上面说的第三种方法简单。
而且FastGithub只针对github的dns污染,其它网站的污染依然存在;我上面的方法可以防止所有网站的污染。

#256 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 以前github还能断续访问,最近几周好像彻底被墙了。点解 » 2024-02-01 11:03:13

列举下访问github的几种方法,及其优缺点:

  • 修改hosts文件:治标不治本,需要不定时更新hosts内的IP地址

  • 替代使用7楼列出的github.com的镜像网站,并在浏览器安装Redirector插件(Chrome、Firefox、Edge均有);配置好插件后在访问github.com链接时会自动替换链接到镜像网站:镜像网站网速快,帐号登陆也OK,但SSH无法访问,不能上传代码

  • 分别搜索 "smartdns“、"DNS DoT DoH"即知从根本上防止DNS污染的方法:优点:github.com的https、ssh都能访问,缺点:浏览网页的速率要比镜像网站的慢

#257 Re: BLDC电机驱动 » 一款成本极低的开源FOC驱动 » 2024-01-31 17:54:09

微鑫科技 说:

@海石生风
请问你有搞过异步电机的驱动吗?

没有。主要搞步进电机。

#258 Re: 全志 SOC » nanopi ttyS1和ttyS2串口接收到的数据时长时短 » 2024-01-31 16:30:10

stty -F /dev/ttyS1 -a
把当前串口设置列出来,检查是否符合要求。

#259 Re: Cortex M0/M3/M4/M7 » 开源小小草科技的基于STM32H7的小掌机,PCB和源码都有哦 » 2024-01-31 11:15:40

时代变了,现在内置DDR直驱TFT LCD的MCU方案有好多个了。

#260 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » lvgl 模拟器能否外挂按键 » 2024-01-31 11:08:44

LVGL在PC上跑,不算是一个模拟器,而只是用了另一个后端。所以没有像你这个的现成的东西。

#261 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 以前github还能断续访问,最近几周好像彻底被墙了。点解 » 2024-01-31 10:19:29

github没有被墙,只是DNS被污染了。SSH访问也受制于DNS。
不让DNS受污染就可以了。

#262 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LittleVGL 可以运行在 浏览器上了 » 2024-01-30 11:28:39

这个python脚本所使用的是 >=3.6版本,你这2.7.12差太远了。python3不兼容python2

#263 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL的事件处理函数的添加和删除的API好丑呀 » 2024-01-29 22:21:40

david 说:

机理肯定是不一样的 不过 你也可以把断言改成弹出个消息框或者标记全局错误状态 不用一条一条检查函数返回值 嵌入式的内存不够了 程序和用户能做的事情不多 也就是获得错误消息转给开发人员处理

消息框弹出来了,然后呢,你原本的流程怎么办?标记了全局错误状态也要每层都去判断是否出错呀,不然你的流程怎么办,出错了也照常走?

zig的错误处理不需要像go那样每返回一个错误就检查一次,zig在调用函数时加try关键字就可以在出错时直接返回错误,而没有出错时就照常走。

在可靠性要求高的场合,即使出现OOM错误也不能让程序直接死掉的。

#264 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 基于LVGL的嵌入式声明式UI框架zdec略有小成! » 2024-01-29 18:47:38

vdom diff方式我之前也有考虑过,但觉得可能需要运行时反射,zig实现不了,就没有深究了。不过这种方式写起来确实要方便很多,后面有空再研究研究。

converter我目前的构思是在binding时像print函数那样指定格式化,如:

Bind(.Text, ErrorCode){ .property = &_model.error_code, .fmt = "error is {d}" }

“text=stat?'Yes':'No'”这种确实有点麻烦,我还在构思。

#265 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 基于LVGL的嵌入式声明式UI框架zdec略有小成! » 2024-01-29 13:53:27

达克罗德 说:

@海石生风
元组是在编译时确定的,那怎么实现的状态diff和更新呢?还有UI元素的增减怎么实现的?比如根据条件显示一个label与否

zig只在编译时支持泛型和反射,所以只能在编译时确定声明。控件一般来说对用户是隔离的,用户通常只操作模型;控件状态的更新来源于与其绑定的模型。

需要UI元素增减的场景是List和TableView控件吧, 这种控件会绑定一个模型数组,用户对表内的UI元素进行声明,UI框架会在编译时依据声明来生成一个用于构建UI元素的函数,模型有变化时就调用这个构建函数。
目前这还是一个构思,这种操作能否实现,还有待研究;毕竟zig这个编译时特性在众多编程言语中是绝无仅有的。

#266 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL的事件处理函数的添加和删除的API好丑呀 » 2024-01-28 18:31:57

david 说:

断言是不是更好些 近似于exception机制

断言完全就跟exception不一样吧!断言一触发,程序就进入死循环,调用者没有任何控制能力,即程序就会立即死掉。
而exception,如果调用者catch到异常就不会使程序死掉。
zig、rust的错误处理才是近似exception,但更简洁、更高效。

#267 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 基于LVGL的嵌入式声明式UI框架zdec略有小成! » 2024-01-28 15:22:44

这三个项目整理好了:将lvgl的C源码直接放入到zlvgl项目内,zlvgl和zdec两个项目分开管理而不使用git submodule。工程已经分别上传到gitee和github:
https://gitee.com/ufbycd/zlvgl
https://gitee.com/ufbycd/zdec

https://github.com/ufbycd/zlvgl
https://github.com/ufbycd/zdec

#268 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL的事件处理函数的添加和删除的API好丑呀 » 2024-01-28 15:15:56

Quotation 说:

继续用旧版就挺好,满足需求。

我想了下,可以这样:以V9的API风格去绑定V8。绑定其实就是加一层封装,更换lvgl版本就是更改封装的内部实现。这样以后将绑定从V8迁移到V9从外面看就没什么变更。

#269 Re: 全志 SOC » ubuntu 制作的rootfs的启动问题 » 2024-01-27 19:46:26

ttyN,N通常为1~6,是虚拟控制台,可按Ctrl + Alt + Fn 切换。Getty on tty1应该是rootfs生成时默认就有了。
有可能tty1就是指向的ttyS0,可以试下删除你添加的Getty on ttyS0

#270 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL的事件处理函数的添加和删除的API好丑呀 » 2024-01-27 19:01:06

david 说:

lvgl的意思是lv_obj_add_event_cb就是列表里加个函数指针 根本不会 fail 不过列表如果静态的会不会占好大地方 如果动态满了怎么办

lv_obj_add_event_cb内部会有动态内存分配,只有一个fail原因,那就是内存分配失败。
后面看了不少C代码,lvgl对于内存分配失败都是只用LV_ASSERT_MALLOC触发断言而没有在返回值上体现来处理的,跟我之前所用的UI库处理习惯上有点不同。

而zig这边因为有完善的错误处理机制,一个函数返回OOM(Out Of Memory)错误是很常见的。zig提倡由调用者决定什么时候处理错误,这就可以让软件更健壮,不会一触发OOM就因ASSERT断言而死掉。

#271 Re: 全志 SOC » ubuntu 制作的rootfs的启动问题 » 2024-01-27 14:18:55

可以添加多个echo,先定位出问题的是哪个命令

另外,你的启动系统是systemd,然后又保留并使用了sysvinit?怎么搞这么复杂?

#272 Re: 全志 SOC » ubuntu 制作的rootfs的启动问题 » 2024-01-26 22:18:14

应该是启动脚本所使用的控制台(tty)不太对,试下换到/dev/tty1看看

#274 Re: 全志 SOC » 请推荐一款合适的mcu » 2024-01-26 18:30:41

emwin还没有开源吧,这限制了好多选择。最好还是用回全志家的MPU。A7是否有emwin支持?

#275 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL的事件处理函数的添加和删除的API好丑呀 » 2024-01-26 18:17:38

LVGL v9.0.0正式发布了,看了下changelog,API改动挺多。
这让刚刚启动zlvgl项目的API绑定选择哪个版本才好?

#277 Re: Cortex M0/M3/M4/M7 » 触发 Debug Monitor 异常为何要求其中断优先级必须高于当前优先级? » 2024-01-23 14:47:43

DebugMonitor出现中断优先级问题是因为你的BKPT或watchpoint在优先级很高的中断处理函数里,想办法把你关注的变量或BKPT移到中断处理函数之外即可。

#278 Re: 全志 SOC » 请问你们linux是怎么调试的? » 2024-01-23 12:07:19

用eclipse、VSCode本地或远程调试都不难。不过绝大部分情况都是用log。

#279 Re: Cortex M0/M3/M4/M7 » 触发 Debug Monitor 异常为何要求其中断优先级必须高于当前优先级? » 2024-01-23 11:47:03

大概是因为这个中断要就地执行才有意义吧,如 BKPT触发的时候、到达watchpoint的时候,过了这个村就没这个店了。

你把DebugMonitor中断的优先级设置成最高不就行了。

#280 Re: ESP32/ESP8266 » 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗? » 2024-01-21 18:35:04

hzqlz 说:
海石生风 说:

现在都流行提问说一半不说一半让大家猜谜吗?

atof("000000003.1")的结果为0

你单个写个C源码测试,结果是正确的吧。是你实际调用有问题,不是atof("000000003.1")问题。
提问最好要把怎么使用的细节列出来。不要一开始就怀疑一个很多人在用且用了很多年的C库有问题。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    double d = atof("000000003.1");

    printf("d = %f\n", d);
    return 0;
}

PS:标准的C库atof返回的是一个double,printf的"%f"接受的是一个double,其他C库特别是MCU平台的C库要另行确认是否有不同。

#282 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 基于LVGL的嵌入式声明式UI框架zdec略有小成! » 2024-01-19 09:14:03

jlau 说:

6啊,push到github和zig社区,很快就有人会参与

这里其实有三个项目:LVGL、zlvgl、zdec,目前工程还是实验性的,这三个项目的文件夹组织得不太分明。等整理好再传到github或推到zig社区。

#283 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 基于LVGL的嵌入式声明式UI框架zdec略有小成! » 2024-01-18 19:31:06

上面main_ui的定义是不是有点QML的意思,这是一个zig元组(tuple),实际上是一个类型名和字段(元素)都是匿名的结构体(struct)。
由于字段是匿名的,就可以包含任意类型的常量甚至可以包含一个类型,不过更时候是包含另一个元组。
而元组是在编译时确定的,就可以利用zig强大的编译时(comptime)特性去解析并构建出UI组件树。

#284 Re: 全志 SOC » 物理按键,table 上下键怎么控制滑动 » 2024-01-18 17:23:27

看官方文档,手动滚动的API在这里:https://docs.lvgl.io/8/overview/scroll.html#scroll-manually
似乎你对UI编程还不太熟悉,建议多看文档、多看例程,编程前对UI库要有一定理解。

#285 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 基于LVGL的嵌入式声明式UI框架zdec略有小成! » 2024-01-18 16:34:25

海石生风
回复: 15

借鉴Flutter,不使用编程语言之外的标记语言而是使用编程语言本身来实现UI描述。这就要求编程语言支持泛型和反射特性。目前支持这两个特性又可以用于MCU平台的语言就只有Rust跟Zig了,但Rust太复杂了用在MCU平台大材小用,故选择Zig。Zig惟一的问题是目前还远没达到1.0版本,但当前v0.11版本的实用性也不错了。
项目命名为"zdec",“z”取自Zig,“dec”取自英文“声明”的前三个字母;而在汇编语言上一般用“dec”指令表示减法,所以"dec"也有在UI实现上做减法从而方便使用的意思。
目前已初步实现大体框架,实现了控件的创建/属性初始化和命令/属性的绑定。

UI构建方式如下:

    const main_ui = .{
        .{
            d.Id.Button,
            d.Size{ .width = 160, .height = 48 },
            d.Align{ .lv_align = .Center, .y_ofs = -100 },
            d.Text{ .text = "button" },
            struct {
                user_data: *Model,
                pub fn onClicked(event: anytype) void {
                    const the_model = event.userData();
                    const step = 10;
                    std.debug.print("{s}: add Model.count by {d}\n", .{ @typeName(@TypeOf(event.target())), step });
                    the_model.add(step);
                }
            }{ .user_data = &_model },
        },
        .{
            d.Id.Slider,
            d.Size{ .width = 240, .height = 16 },
            d.Align{ .lv_align = .Center, .y_ofs = 100 },
            d.Range{ .min = 0, .max = 200 },
            d.Bind(d.BindType.Value, @TypeOf(_model.count)){ .property = &_model.count },
        },
    };

    var widget = try d.buildUI(lv.Screen.active(), main_ui);

效果是这样的:点击button,Slider的游标就会变化
Screenshot_20240118_162552.png

上述例子的完整代码在这里:https://gitee.com/ufbycd/zdec/blob/dev/zdec/example.zig
项目主页在这里:https://gitee.com/ufbycd/zdec
目前只支持Linux,并使用SDL2作为后端来显示窗口。

#286 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL的事件处理函数的添加和删除的API好丑呀 » 2024-01-18 13:29:50

LVGL的版本号为什么飙得这么快,是因为新版API跟旧版的不兼容,那为什么会经常不兼容呢?
我个人认为,除了用LVGL的人越来越多导致需求变化很大之外,有些API考虑不够周全导致稳定不下来。

#287 Re: SigmaStar/SSD201/SSD202/SSD212 » 请教SSD20x的屏接口如何正确设置极性呢 » 2024-01-18 13:17:06

@zerolee
应该是屏只使用了DE信号而没有使用HS、VS信号,双恰好你的DE信号的极性正确。

#289 Re: 全志 SOC » 物理按键,table 上下键怎么控制滑动 » 2024-01-17 15:51:25

huaze 说:
海石生风 说:

我以为你是说按Tab键滑动,理解错了。
让Table控件接收KEY事件,在事件处理函数里调用API滑动就行了。

没理解是什么意思

事件处理函数就是丢给lv_obj_add_event_cb的那个回调函数,你的用法不太对,改成如下:

lv_obj_add_event_cb(DataStream_table_1, DataStream_table_1_event_handler, LV_EVENT_KEY, DataStream_table_1);

// 那么DataStream_table_1就存储在lv_event_t的user_data里,就可以在回调函数里取出来使用:
void DataStream_table_1_event_handler(lv_event_t * e) {
    lv_table_t *table = e->user_data;
    // 使用table来调用Table的API来滑动
}

#290 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL的事件处理函数的添加和删除的API好丑呀 » 2024-01-17 14:52:47

海石生风
回复: 13

我最近启动了一个项目:实现一个应用于嵌入式的声明式UI框架: https://gitee.com/ufbycd/zdec
用Zig语言编写,底层基于LVGL进行绘图。我用过emWin、AWTK、QT(widget/qml/pyqt)、 wxWidgets,但我之前对LVGL只是耳闻并在PC上跑了下Demo,实际项目从来没用过。
在实现命令绑定时发现LVGL的事件处理函数的添加和删除的API好丑呀。
lv_obj_add_event_cb的返回值在V8版本已经标记为遗弃。而在V9版本则没有返回值了,API调用到底是成功还是失败,用户不知道!太不严谨了。
并且不能通过lv_obj_add_event_cb返回的东西来删除处理函数了。这对于实现一个声明式UI框架很不友好!

AWTK相应的API是这样的:

uint32_t widget_on(widget_t* widget, uint32_t type, event_func_t on_event, void* ctx);
ret_t widget_off(widget_t* widget, uint32_t id);

用法是这样的:

// 添加
uint32_t event_id = widget_on(widget, EVT_CLICK, callback, ctx);
if(event_id == TK_INVALID_ID) {
    // 失败处理
}

// 删除
widget_off(widget, event_id);

LVGL的版本号都这么大了,大家都没有意见吗?我打算到github上提下意见。
另外,将来空闲时也会写点这个Zig项目的心得。

#291 Re: 全志 SOC » 物理按键,table 上下键怎么控制滑动 » 2024-01-17 13:58:15

我以为你是说按Tab键滑动,理解错了。
让Table控件接收KEY事件,在事件处理函数里调用API滑动就行了。

#292 Re: 全志 SOC » 物理按键,table 上下键怎么控制滑动 » 2024-01-17 13:14:17

通过Tab得到焦点的控件的底部坐标如果超父控件器大小,就滑动以使其底部坐标在父控件之内。

#293 Re: 工业芯 匠芯创 » 匠芯创ArtInChip选型表更新,更多新型号加入,具体请咨询淘宝客服 » 2024-01-17 11:05:33

所有芯片都标注有Decode MJPEG。MJPEG是一种视频压缩格式,其每一帧都是一张JPEG图像。
如果只是UI贴图时要Decode单张JPEG图像,自然不在话下。

#294 Re: Cortex M0/M3/M4/M7 » 请教,daplink如何解除M3单片机的写保护? » 2024-01-12 15:53:25

MDK: CMSIS-DAP Cortex-M Target Driver Setup中的Download Function选中Erase Full Chip

#295 Re: 工业芯 匠芯创 » ArtInChip 对接 DRM (Direct Rendering Manager),基于 D213ECV 板卡 » 2024-01-11 15:04:03

找了个支持DRM的GUI看了下其DRM绘图实现,发现其绘图原理无论DRM还是fbdev其实都一样,都是在内存画好一帧再传给后端。
所以确实如你所说,在没有GPU的平台上,因为DRM“陷入内核态的时间”更长从而导致性能要比fbdev低一点。

如果是在有GPU的平台上,GUI可以通过DRM从显存上申请一块存储空间来绘图,这个绘图其实是在GPU里进行的,就需要DRM进行统一管理,从而实现GPU加速,于是比fbdev纯软件绘图的性能要好。(这是我目前的理解,若有误请指出) 这就是DRM称之为直接渲染管理器的原理。

#296 Re: 工业芯 匠芯创 » RISC-V 相比ARM核,ArtInChip D211系列性能测试大解密,数据供参考。 » 2024-01-11 14:29:18

要是能有主频1GHz左右的MPU就好了。我有个新项目的显示分辨率是1280x720,以前用A7@1.2GHz,现在上D211的话有点怕芯片性能不够。

#298 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » RTOS也能跑wayland!RT-Thread宣布支持wayland合成器weston! » 2024-01-11 14:21:15

jlau 说:

那么rt-thread smart有什么是linux做不到的呢

Linux做不到RTOS的实时性。于是用Linux做UI显示时要另外加MCU来处理实时控制。
另外RTOS的体量更小,跑小UI的效率要比Linux的高。

#299 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 请教,qt程序,qtablewidget添加大量数据相当耗时,界面卡顿。 » 2024-01-11 14:08:50

表格大或操作频繁就应该改为用QTableView,分开数据模型和视图才更有效率。

#300 Re: Openwrt/LEDE/AR9331/MT7688/RT5350 » 我想做一个无线桥接器, 有什么解决方案? » 2024-01-10 20:37:49

开发板网线接电脑,电脑没额处接口用加USB网卡或PCI-E网卡,电脑桥接网卡。

#301 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » RTOS也能跑wayland!RT-Thread宣布支持wayland合成器weston! » 2024-01-10 11:19:36

海石生风
回复: 4

RT-Thread团队在Smart内核上对接了Linux的DRM (Direct Rendering Manager)并移植了wayland从而可以在RT-Thread通过DRM后端来跑weston合成器(显示服务器)。将来在RT-Thread上移植GUI将非常简单容易了!
详情参见官方新闻: https://www.rt-thread.org/newsDetail.html?id=cb5491b3c0088c80

#302 Re: 工业芯 匠芯创 » ArtInChip 对接 DRM (Direct Rendering Manager),基于 D213ECV 板卡 » 2024-01-09 23:46:35

riscv_linux 说:
海石生风 说:

不错!问下,GUI绘图走DRM是否要比走FrameBuffer的性能要好点?

追求性能还是 framebuffer 好点,毕竟框架更简单,陷入内核态的时间更短

我原以为用DRM绘图时,即使用户空间没有使用2D加速API,DRM也会在内核空间使用2D加速API来绘图。
即是说,DRM只是提供了统一的2D/3D加速的API接口?

#303 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-01-09 17:31:29

armstrong 说:

你这说法不对,个人用户并不需要他们的技术支持,只需要他们开放文档而已,开发者自己会研究。
我看现实原因是他们根本拿不出像样的技术文档,更别谈开不开放了。国内多数厂家(兆易除外)就这尿性!

用国产芯片当然不能要求价格比进口的低的同时文档还要像进口一样丰富。
现在大家说的是,国内好多公司连芯片手册的相关资料都没有提供。

#304 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-01-09 17:00:52

echo 说:

ST?你指的是STM32?这类MCU本身就很简单,直接丢一点资料靠谱点的个人用户就都搞定了。
复杂SoC给你资料你个人也搞不定,到时候还得去骚扰厂家。你见过Intel、AMD、高通、MTK对个人开户开放资料吗?

STM32MP1系列是M4+A7的MPU,不简单吧,比全志单核ARM9的复杂吧。但人家依然像MCU那样该有的资料都放出来了。

#305 Re: 工业芯 匠芯创 » ArtInChip 对接 DRM (Direct Rendering Manager),基于 D213ECV 板卡 » 2024-01-09 16:50:38

不错!问下,GUI绘图走DRM是否要比走FrameBuffer的性能要好点?

#306 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-01-07 17:51:50

echo 说:

这样挺好的,个人小白买家坚决不买,厂家把技术支持资源投入到产生价值的大客户。长此以往,厂家芯片一点也不少卖,还不用降价。

大客户的方案选型就不是人做出来的么?说到底还依然是有人受不住诱惑选了这种芯片,让这种公司活了下来。
而行业上的其它公司,见到这种模式不是死路,就毫不畏惧地效仿着也走这种模式。久而久之,这种公司就多起来了。

#307 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-01-06 15:22:30

大家要受得住诱惑,即使芯片价格再便宜也不要选用,让这些公司没有活路。长此以往,市面上自然就不会有这种公司了。

#308 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 同一个pro文件,编译arm版时需要连接额外的库,如何在不来回修改pro文件的前提下,可以切换编译两个版本的qt程序? » 2024-01-06 15:15:13

Gentlepig 说:

现在工程目录是这样的:
can2socket.pro   和 src 目录 同级,src目录下有有个src.pro。

现在在can2socket.pro里,DEFINES+=t113,结果传递不到src.pro文件里...

我是想定义两个顶层pro文件,编译时用顶层pro文件分别编译出pc版和arm版。

如果不用qtcreator的话,建议用cmake。cmake要灵活点,qmake的限制比较多不灵活,Qt官方也开始放弃qmake转投cmake了。
另外QT_ARCH类似于编译器宏,是内置在编译套件里的。

#309 Re: 全志 SOC » 请问F1C200s buildroot 如何开启 BR2_ARM_CPU_HAS_NEON » 2024-01-05 21:23:40

ARM9芯片没有NEON呀,Arm Cortex-A系列芯片才有。

#310 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 同一个pro文件,编译arm版时需要连接额外的库,如何在不来回修改pro文件的前提下,可以切换编译两个版本的qt程序? » 2024-01-05 20:30:26

不同平台所使用的构建套件是不同的麻,在套件配置上进行区分即可。
比如,可以在 项目 -> 构建设置 -> 构建的步骤 -> qmake的“额外的参数”着手。
Screenshot_20240105_213328.png
套件的构建配置
Screenshot_20240105_213353.png
.pro工程文件
Screenshot_20240105_213412.png
qmake输出

#311 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-01-05 15:37:23

还是ESP32这种模式好,只把非常少的一部分内容闭源,SDK开源还接受PR,让大家都参与进来。这不一样搞得红红火火么!

#312 Re: Xilinx/Altera/FPGA/CPLD/Verilog » AG1280 » 2024-01-04 11:57:32

有没有可能是因为用的人还有多,升级代价小就直接升级了呢。
君不见STM32F103的I2C都有较大设计问题,而又没有升级,是不是因为用的人较多不好升级呢?

#313 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 请教,socketcan接收,用哪种方案好呢?子线程不停读?用QSocketNotifier?epoll? » 2024-01-03 13:16:05

Linux应用程序不能直接响应硬件中断,那是底层驱动做的事。
poll, epoll, select都是轮询方式,要开线程来处理,比较麻烦。
软件用Qt写的话自然用QSocketNotifier最简单,不需要开线程来接收数据。其内部应该就是用的poll, epoll, select这些接口做了轮询来实现的。

#314 Re: 工业芯 匠芯创 » 为什么我的编译后有bin, elf, map文件,但是没有img文件 » 2024-01-03 11:46:01

为什么你提问没有把编译输出信息帖出来,是要大家帮你猜么?

#315 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 请教,局域网内,嵌入式llinxu设备,如何向pc上位机传送数据? » 2024-01-02 09:54:47

关键要看你数据要怎么用。如果只是想浏览数据,可以用rsyslog,把数据当成日志给远程PC日志服务器即可。Linux有完善的日志管理工具。
如果拿到数据还要做加工,就用socket,定个简单的通信协议就行了。

#316 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » rtthread 初始化阶段中断开关是不是有问题? » 2023-12-26 16:21:02

有时序要求,中断处理函数所使用的模块如果没有初始化就触发中断就会出问题。

#317 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 想找个价格便宜的单片机跑音频算法,主频越高越好,有I2S口... » 2023-12-26 15:01:34

本坛匠芯创的d13x系列比较合适这个需求:十七八块钱;480MHz带FPU;带RVV扩展支持SIMD加速,适合跑音频算法。
但目前的SDK可能不太合你口味,IAR裸机开发包还没出来,IAR支持要自己弄。
也比较好奇,IAR是否已经支持RISC-V的RVV扩展。

#318 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 下载了一些开源飞控源码看,为何用freertos的这么少。 » 2023-12-22 18:56:27

@EE
起初是裸机,由于对可靠性要求极高,于是最起码要对不同任务进行内存地址隔离。隔离后,不同任务间要通信,就是要做通信组件;还要监控不同任务是否正常运行,如果异常就要做最小损失处理。还要对整个任务系统进行备份(我国当前的航天器已经做3套备份了)。
这些东西做下来,就不由自主地变成一个OS了。

顺便一提,经常飞越星际的VxWorks已经支持“容器”这个虚拟系统的概念了,将实时性要求不高又容易出错的任务跑在容器里,以隔离其对整个系统的影响。
航空航天的可靠性要求不是民用的能比的,而航空航天系统又越来越复杂,肯定要对硬件资源进行管理,这一管理就变成一个OS了。
这不是为了OS而上OS,而是无奈地成为了OS。

#319 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 花了小半天 搭了个全新版本 eclipse + gcc ... » 2023-12-22 17:42:13

506826164@qq.com  说:

在vectos_stm32f103xb.c里有定义向量表__isr_ectors[],在sections.ld里把向量表定义在flash 0x08000000位置,stm32上电后从这里运行即可。startup.s是st库里常用写法,但不是唯一方法

本质不单单是中断向量表,而是启动代码,即执行main函数之前的初始化.DATA段和.BSS段的代码是用C语言写的。
之所以能用C语言实现启动代码,是因为cortex-m的中断向量表的前4个字节的值为栈指针位置。MCU启动时先从中断向量表获取栈指针位置,确定了栈位置C语言的运行环境就初始化OK了,就可以调用C函数了。

至于中断向量表的定位是通过链接脚本指定的:
先在C语言里指定中断向量表这个数组所处的段(section)

__attribute__ ((section(".isr_vector"),used))
pHandler __isr_vectors[] =
  { 
       (pHandler) &_estack,          // The initial stack pointer
       Reset_Handler,                // The reset handler
        ...
 };

再在链接脚本里指明这个段的链接位置:

MEMORY
{
  FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 512K
  RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192K
}


SECTIONS
{
    /*
     * For Cortex-M devices, the beginning of the startup code is stored in
     * the .isr_vector section, which goes to FLASH. 
     */
    .isr_vector : ALIGN(4)
    {
        FILL(0xFF)
        KEEP(*(.isr_vector))     	/* Interrupt vectors */
    } >FLASH

链接脚本里的内容是按出现的先后顺序排列的,isr_vector 写在最前所以就链接在FLASH起始位置。

#320 Re: RK3288/RK3399/RK1108 » 哪位有RV1103 GLIBC 版本的工具链 » 2023-12-22 15:16:30

一个曲线救国的方法,zig语言的编译器携带了跟gcc兼容的C/C++编译器,支持各种平台、各种架构,还携带各种libc库和glibc库。
其中zig 0.11版本携带的glibc版本有2.0.0~2.34.0

#321 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 下载了一些开源飞控源码看,为何用freertos的这么少。 » 2023-12-22 14:55:06

echo  说:

@海石生风
我写过很多数字电源电机控制项目,也见过无数类似实时控制系统的代码,都是强实时控制系统,都是裸奔。原来你是写飞机、导弹、飞船代码的?失敬失敬。顺便请教下,你们飞机、导弹、飞船用几个CPU/MCU?都用什么系统?电动自行车用一个MCU,电动滑板车用3个MCU,都是裸奔。比较简单的汽车要用50-100个MCU。

这就是典型的“以自己立场感受为常识”的主观见解。

#322 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 花了小半天 搭了个全新版本 eclipse + gcc ... » 2023-12-22 14:41:57

易用性是个主观的东西,比如我习惯了eclipse、VS Code这些工具了,再用IAR就有种从现代社会进入到原始社会感觉,写代码感觉束手束脚。
eclipse再过20年界面都会是这样,等ecipse变成你说的那种易用性那它就不是eclipse了。比如沁恒搞的那个对eclipse做大量裁减的IDE,让熟悉eclipse的人哭笑不得。

#323 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-12-22 14:09:50

songjiaming 说:

问一下,这款芯片如果跑RTOS,驱动上支持G2D和MIPI吗

官方SDK就是基于RTOS RT-Thread,且SDK里的LVGL已经适配G2D;自然也支持MIPI。

#324 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 花了小半天 搭了个全新版本 eclipse + gcc ... » 2023-12-22 12:41:36

@fubaojun2006
不同的人对工具有不同的需求也就会有不同的选择,但也应该在较为充分地了解一个工具后才去判断这个工具是否适合自己。
不同项目对工具也会有不同的需求,当一个项目足够复杂之后,开发者就会不由自主地想换功能更好更为复杂的工具。但如果拿复杂工具去管理只有一两个文件的简单项目,只会把事情搞得更复杂。

#325 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 花了小半天 搭了个全新版本 eclipse + gcc ... » 2023-12-22 11:30:51

只以keil/iar的方式使用Eclipse工具链当然不能体现出它的优点。
比如,在Linux用Eclipse重新编译包含约100个C文件的工程,我2019年配的机器所需编译通常不会超过2秒,那才爽!
再比如,Eclipse搭配Git才能体验代码管理的乐趣,如下图。
Screenshot_20231222_111004-3.png
版本标尺:用于查看当前文件的代码的不同部分是谁/什么时候/怎么写的
Screenshot_20231222_111148.png
文件对比与合并:用于对比仓库中任意版本,并且可以将右边的变动合并到左边
Screenshot_20231222_111542.png
当前修改标尺:用于查看当前未提交的内容对比仓库最新版改了什么

还有很多功能就不一一列举了。

如果你的机器跑Java软件都觉得很慢,平时又不用git,就当我没说。

#326 Re: DOPI开源摄像头(HI3516/HI3518) » 搞了一个视频传输协议,想做一个无线网络摄像头,有没有什么推荐的方案? » 2023-12-21 16:28:52

@非叉叉
哦,大意了,摄像头出H264确实只能走USB UVC方案了。然而ESP32只有USB FS,USB带宽不是很大,分辨率大点可能就跑不起来了。

#327 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » ubuntu18.04 ~ ubuntu22.04 开机不能执行 rc.local 脚本的问题解决方案 » 2023-12-21 15:44:16

Fomalhaut 说:

很多人指责systemd是因为它做的事情太多了,违反了UNIX哲学。

原来如此。我从SysVinit年代就开始坚持使用Linux为主,Systemd带来的启动优化是很明显的,不过现在Systemd可能确实已经脱离它的初衷,俨然一个系统服务管理工具了。但我目前接触Systemd下来感觉还好,挺便利的。

#328 Re: DOPI开源摄像头(HI3516/HI3518) » 搞了一个视频传输协议,想做一个无线网络摄像头,有没有什么推荐的方案? » 2023-12-19 13:45:21

单芯片集成H264编码器和WiFi的方案,似乎还没有,即使有,应该也是专用芯片不好买。
两种方案:

  • 支持H264输出的摄像头 + ESP32

  • 普通摄像头 + 带H264编码器的MPU + WiFi模块

#329 Re: 全志 SOC » t113 tina sdk » 2023-12-18 10:39:23

bigzhu 说:

没用过langan sdk,我上来就接触tina sdk,感觉这玩意不适合初学者,全志整的代码有点乱,整个打包流程写了一两千行脚本,参杂着各种第三方工具和自定义工具。生成的中间文件有几十个,真是服了。

我接触了两个厂商的SDK都是这样,问下哪个厂商的SDK简单点?

#330 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » ubuntu18.04 ~ ubuntu22.04 开机不能执行 rc.local 脚本的问题解决方案 » 2023-12-18 10:19:16

/etc/rc.d的启动方式是SysVinit,只能串行执行系统启动脚本,启动速度慢,已经被遗弃了。
现在的启动方式都是Systemd了,不知为何现在很多人诟病Systemd,我记得Systemd引进之初是为了解决SysVinit只能串行启动导致启动速度慢,而仿效MacOS进行并行启动来提高启动速度的。
建议放弃SysVinit了,以后Systemd也可能不再兼容SysVinit

#331 Re: 全志 SOC » LVGL 只有物理按键 » 2023-12-17 11:32:46

regbbs 说:

@huaze
是的,不过防抖放在回调函数或其他地方比较好

用硬件去抖吧,关联一个104电容就行了,增加不了多少成本。
软件去抖,如果是裸机容易影响显示帧率。

#332 Re: 全志 SOC » 有没有嵌入式上能用的usb转vga或者hdmi显卡 » 2023-12-17 11:05:30

3050311118 说:

发现淘宝上几十块的都是只支持win的

Linux的DisplayLink驱动还是试验性的,还不完善,所以对这种设备支持不是太好,使用起来要花点力气。
维护这个驱动的主要厂商似乎是synaptics,详情在这里:https://www.synaptics.com/products/displaylink-graphics
有能力的话,可以自己捣鼓一下。

DisplayLink的开源网站被和谐了?https://displaylink.org/

#334 Re: 全志 SOC » 全志网站,下载SDK的问题 » 2023-12-17 10:37:17

@吴助建
哪里开发都一样,不同版本的工具之间肯定会有兼容性问题,即使是声称宇宙最强的那个IDE也不能幸免。
解决办法其实很简单,将所用到的工具打包成toolchain包连同SDK一起发布即可,只是全志没有这样做而已。

#335 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 下载了一些开源飞控源码看,为何用freertos的这么少。 » 2023-12-15 18:34:47

echo 说:

强事实控制系统裸奔最好,引入一个组件就会增加额外的风险

飞机、飞船、导弹为什么也用RTOS?裸机一个任务死掉,整机都死了。要隔离不同任务才能把风险降低,这种隔离实施起来就不由自主地就变成一个OS了。
实时性能要求也是上RTOS的原因之一。

#336 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 下载了一些开源飞控源码看,为何用freertos的这么少。 » 2023-12-15 16:08:12

threadx不了解。rt-thread也支持POSIX,但小米选nuttx,应该是nuttx对POSIX的兼容性更好而且支持进程(现在rt-smart都还在开发中)。
另外,虽然rt-thread跟nuttx都遵循Linux的一些理念,但nuttx更接近Linux,可以看作是RTOS版的Linux。

#337 Re: 工业芯 匠芯创 » D133CBS 纯IO翻转 RTT » 2023-12-15 12:41:02

GPIO说明在芯片手册第12章第10节,里面有寄存器描述。

#338 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-12-14 10:30:05

@老鸟kkk
最新文档上,数据手册是最新版,但芯片手册还是旧版。等文档更新吧,记得隔一段时间就 git pull 一下。
文档基于git还是挺方便,不需要不停地下载新版PDF文档。

#339 Re: 工业芯 匠芯创 » f1c200s 和 D213 图形性能对比 » 2023-12-13 18:40:51

f1c200s应该是没有G2D,但平移动画的运算开销是最小的,优化好了应该不至于这么卡,但如果显示分辨率比较大就另说。

#340 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-12 10:18:20

上面说的话可能冲了点,但一大早看到别人大神为了解决软件工程问题辛辛苦苦做出来的工具说是内卷,真的很生气。
C语言的构建系统很垃圾,只能靠第三方工具来管理构建并在源码里写很多宏来决定什么代码参与构建什么不参与构建。这样代码量一多,这些宏的数量没有上百也有几十,并且有些宏相互依赖、有些宏相互冲突。如果没有Kconfig这种可视化配置工具,手工一个个地去改这些宏,搞不好忙了大半天都通不过编译。
为了所谓的不“内卷”不学这些工具,手工一个个地去改编译宏,就老老实实加班吧。

#341 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-12 09:42:05

@tangloong
这是带系统的有很多组件和驱动要配置,不是裸机直接导入文件就可以用。这些工具是为了减轻人的工作负担,说白了是人偷懒用的。
还是搞你的裸机吧,带系统的不适合你。

#342 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-11 22:00:08

sjshe3326 说:

上面说的和佳奇说反思自己有没有努力一样

嵌入式的技术更新速度已经比互联网的低很多了,多一点东西都不愿意学,不要指望以后技术能进步到哪里去。

#343 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-11 17:32:34

gcc、eclipse、VSCode、scons、Kconfig这些都是常用工具,如果工作几年了都还只会大学里学的Keil/IAR,个人认为是没什么上进的。

#344 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-11 16:03:01

musich 说:

IAR 的 RISC-V, 和51一样,  比较简单高效,

RTOS SDK基于RT-Thread,可以用RT-Thread的配置工具导出IAR工程来用。

#345 Re: 站务公告/网站建设 » 看不到当天的帖子回复 » 2023-12-11 15:07:47

@skrlaoshiren
我看到的几个论坛都是白天不审核,夜间才需要审核。
先有了人气再来管理水积分行为吧,搞得人气越来越少,现在是论坛自己自动翻老旧帖子到前列了,让人点进去一看,TM的几年前的帖子!

#346 Re: 工业芯 匠芯创 » d13x系列封装 » 2023-12-11 14:58:02

按老外的做法,既然是开源指令集的MCU/MPU,那么都会提供开源工具KiCAD的符号库和封装库。

#347 Re: 工业芯 匠芯创 » 众筹一个有跟的么?D133BBS的已设计好 D133CBS的原理图但是PCB还没连线 » 2023-12-10 18:11:27

tangloong 说:

@lfs911

https://whycan.com/t_10374.html 这里有运行日志
Startup time: 0.456 sec 
这是跑的rtthread的demo

程序是是在哪跑的,Flash、SRAM还是PSRAM?

#348 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 下载了一些开源飞控源码看,为何用freertos的这么少。 » 2023-12-09 18:57:39

不要以自己的立场感受为常识。比如,从事Linux底层的人对nuttx就会很熟悉并觉得freertos功能太少。
像小米就选nuttx作为他们产品的RTOS,明显是因为他们的团队以前是搞手机系统的,众所周知,手机系统内核是Linux。

#349 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-12-09 12:41:27

100pin库存不足 我觉得是你们官方带的头 tongue ,全功能开发板都只用88pin的芯片。

#350 Re: 站务公告/网站建设 » 看不到当天的帖子回复 » 2023-12-08 17:57:02

实话实说,论坛炒冷饭把老旧贴子翻出来、白天的回贴也要审核且审核时效低,会劝退很多人。

#351 Re: Cortex M0/M3/M4/M7 » STM32G030F6P6这个mcu有用过的吗, ADC是不是很拉跨? » 2023-12-08 14:39:03

这是低成本低管脚芯片,没有分开数字电源和模拟电源,不要指望它的指标有多好。
想要指标好就老老实实加钱,用起码有单独模拟电源输入的芯片。

#352 Re: 全志 SOC » 为啥全志很多开源库停止更新了? » 2023-12-07 11:28:05

jlau 说:

官网的也不更新,因为一更新就要移植和重测,打工的码农伤不起。
不变的代码是死代码,但工资照发,客户不报bug就成。

看来全志这水有点深呢,小客户选型前得三思。

#353 Re: 工业芯 匠芯创 » 第一块D133CBS 烧录并运行成功 » 2023-12-07 10:28:37

换一个支持ANSI颜色的终端吧,这个输出的字符串是带颜色的

#354 Re: 全志 SOC » 为了避免DDR频率和CPU时钟频率干扰WIFI,蓝牙,ZIGBEE等无线设备,优选频率 » 2023-12-06 15:42:16

干扰是有,但对信噪比的影响是多少?如果对信噪比的影响不是很大,是不是就可以忽略不计?
就如同PCB Layout的铁律“信号线不能走直角”的前提是信号频率要足够高才有影响。

#356 Re: 工业芯 匠芯创 » USB 控制器中关于5对 endpoint的说明 » 2023-12-05 17:07:32

支持国产芯片,以前用外国的芯片,片内大多只集成USB FS PHY,想用HS PHY还得在片外挂PHY芯片,麻烦。
现在国产芯片,随随便便都是集成USB HS PHY。

#357 Re: 工业芯 匠芯创 » D13x ADC精度 » 2023-12-05 16:59:30

lfs911 说:

如标题,想问下D13x 的12位ADC精度精度如何呢,接下来公司有一款仪表产品考虑用这个方案,需要用到6路ADC输入,对精度要求较高,官方有没有一些测试数据,谢谢

对精度有要求的话还是老老实实用片外ADC芯片吧。

#358 Re: 工业芯 匠芯创 » 萌新来啦,匠芯创正式入驻WhyCan,第一波小福利正在准备中。。。。 » 2023-12-04 13:49:11

静静的嘀嗒 说:

请问开发环境的搭建只支持64位系统吗?

桌面环境哪里还有32位系统?

#359 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 怒开新坑,自制低成本高速USB分析仪(随缘更新) » 2023-11-30 11:02:52

bigniudiy 说:
jordonwu 说:

@bigniudiy
是要重新编译那个wireshark plugin吗?

是的,不重新修改,烧录68013的固件也有问题,会出错,原版的程序会在烧录前验证FPGA ID对不对,不对就退出烧录

CY7C68013这个方案真是长寿啊,差不多得有20年了吧

#360 Re: 工业芯 匠芯创 » 众筹一个有跟的么?D133BBS的已设计好 D133CBS的原理图但是PCB还没连线 » 2023-11-30 10:57:51

tangloong 说:

其实我就是想验证一下68PIN的 驱动1024*600的屏幕 性能咋样,因为这个成本比F1C100S有优势,这也是基于目前接触到的项目来考虑的,我现在需要的也就是跑RTthread+显示+IO控制,2M flash 差不多就够了,我连SD卡都想换成IO引出来
如果想要全功能的话买官方的开发板就好了,我这个板子 适合显示+需要很多IO控制的项目 直接拿来用,成本也低

有点尴尬,官方299的开发板也不是100pin而是88pin的。我之前也很纳闷官方为何全功能的开发板不上100pin的芯片。

#361 Re: 工业芯 匠芯创 » 匠芯创RISC-V产品选型表更新V23-供选型参考 » 2023-11-28 12:34:19

合封定制是否对芯片购买数量上有要求?要求是多少?

#362 Re: RISC-V » 性能最强的 RISC-V 内核单片机:HPM6750 » 2023-11-25 17:15:43

Gentlepig 说:

http://science.china.com.cn/2023-11/24/content_42608233.htm
今天看到这个消息,来转发一下。
hp5301, 8元,300M,没can,16位adc,开发板40元。

看了下sdk,gitee上有,rtos开发。

顶一下,HPM5300系列芯片有针对电机控制的运动控制系统,非常强大。如:

  • 旋变解调器:根据电机的两路线圈的电流信号评估转子位置

  • 支持串行口编码器;如 磁编码器MT6701的SPI接口,配置好寄存器后无需CPU干预就能定时获取编码器数值

  • 运动处理单元:根据输入的电机位置值来预测电机的位置、速度、加速度

其它还有强点还有:双精度FPU、64位定时计数器、纳秒计数器、32位编码器计数器、编码器输出、CAN FD、运算放大器OPAMP、两个16位ADC等就不一一列举了,感觉兴趣的同学可以看芯片手册深入了解。

#363 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-11-24 23:15:08

lanlanzhilian 说:

XIP可以用来接 spi的 psram吗

怎么感觉ArtInChip老答非所问呢。这是在问SPI接口是否支持XIP且是否具有读取和写入功能从而支持PSRAM,XIP到Flash只是读取功能。
像STM32的SPI接口的XIP就只支持读取,而ESP32的就支持读写访问所以可以接PSRAM来扩展内存。

#364 Re: 工业芯 匠芯创 » MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘 » 2023-11-19 11:38:05

tomyqg 说:

nor只读,文件系统还得挂个nor?

这应该是在问,同一块NorFlash是否可以XIP一个分区的同时另一个分区挂文件系统?

#365 Re: 工业芯 匠芯创 » RISC-V工业级高性能通用计算MCU G73x系列Datasheet,内置大容量1MB SRAM和2MB FLASH » 2023-11-17 18:26:07

ArtInChip 说:
tangloong 说:

请问这个rgb 屏幕支持多大分辨率 24位 150m 怎么跟别的描述不太一样呢?

最大分辨率支持480x480

这个分辨率限制应该来源于SRAM只有1MB,想要更大分辨率应该用D13x系列。

#366 Re: 工业芯 匠芯创 » RISC-V 相比ARM核,ArtInChip D211系列性能测试大解密,数据供参考。 » 2023-11-17 18:16:31

ArtInChip 说:
海石生风 说:

D211对比A7还有一个优势,A7的NEON需要特殊的数据结构才能实现SIMD、而RISC-V的RVV不需要特殊数据结构只要给定数组就能开启SIMD加速。

请教下,SIMD加速,一般用在哪个场景

SIMD 单指令多数据,可以在一条指令内进行两个数组(矩阵)的运算,只要是对两个数组的元素分别进行运算的都可以。
如:音频、图像处理,AI算法,字符串比较等。

#367 Re: 工业芯 匠芯创 » RISC-V 相比ARM核,ArtInChip D211系列性能测试大解密,数据供参考。 » 2023-11-17 11:20:52

D211对比A7还有一个优势,A7的NEON需要特殊的数据结构才能实现SIMD、而RISC-V的RVV不需要特殊数据结构只要给定数组就能开启SIMD加速。

#368 Re: 工业芯 匠芯创 » 关于GUI工具的选型建议 » 2023-11-17 10:57:03

AWTK支持贵司芯片的G2D加速么?
体量小于Qt的嵌入式UI感觉没什么选择:LVGL太过轻量没有UI描述语言、UI响应靠一堆callback,slint收费了不敢用,惟有AWTK功能稍强点。

#369 Re: 上海航芯 » 想自己实现下载算法遇到的问题 » 2023-11-17 10:41:26

演技担当黄晓明 说:
海石生风 说:

下载算法为何还用printf?printf的体量对于bootloader来说太大了。

暂时看下东西而已

自己实现一个简单的printf,或在网上找别的printf的源码实现就行了。要官方特意给你开放源码,不太现实。

#370 Re: 硬件设计 KiCAD/Protel/DXP/PADS/ORCAD/EAGLE » 求助:在Linux系统下安装和使用Allegro的教程 » 2023-11-17 10:31:35

@Gentlepig
用 eclipse-embedcpp或MCU原厂的Linux版IDE(其实也是eclipse) 就行了,不懂GCC也能创建工程,各大发行版的官方软件仓库都有gcc、arm-none-gcc、arm-linux-gcc。
当然要提高水平就需要懂这些了:GCC、makefile、链接脚本。

#371 Re: 硬件设计 KiCAD/Protel/DXP/PADS/ORCAD/EAGLE » 求助:在Linux系统下安装和使用Allegro的教程 » 2023-11-16 16:49:12

用Linux做开发环境的应该不是主力搞硬件开发的吧,而非主力搞PCB设计的话用KiCAD就够用了。
Linux开发三件套:GCC + Eclipse + KiCAD
PS 楼上我劝你不要张嘴就乱咬。Windows也抄了不少Linux的UI且还没抄好。

#372 Re: 上海航芯 » 想自己实现下载算法遇到的问题 » 2023-11-15 14:04:19

下载算法为何还用printf?printf的体量对于bootloader来说太大了。

#373 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-11-15 11:23:53

tomyqg 说:
海石生风 说:
tomyqg 说:

@海石生风
听说c906的浮点也是个残废啊

哪里道听途说的,RVV + FPU 的浮点性能怕是跟ARM9比得差两个量级

这里
https://github.com/revyos/revyos/issues/17

我看了下,大意是说C910的FPU少了个寄存器标志位,没有完全兼容IEE-754。
但说它“残废”,就等于说它没什么用处,就是谣言了。

#374 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-11-14 18:21:41

tomyqg 说:

@海石生风
听说c906的浮点也是个残废啊

哪里道听途说的,RVV + FPU 的浮点性能怕是跟ARM9比得差两个量级

#375 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-11-14 01:00:22

novice 说:
ArtInChip 说:
novice 说:

价格17.5元?这个价格打其他HMI市场还可以,打串口屏市场的话基本上不具有任何优势。

Hi,淘宝上的价格均为样品价格。

价格如果能做到F1C100S那样,踢我一下。

F1C100S是什么东西?不带浮点单元的消费级片子,人家这个是支持双精度浮点的工业级芯片好吗,就不是同一个层次的东西!

#376 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-11-14 00:07:02

本坛没人做工业级产品吗?老是有人拿消费级芯片跟别人工业级的比价格……

#378 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » ssd202,r818平台GUI » 2023-09-15 23:52:34

当今GUI框架的主流是声明式UI了,就要求其编程语言支持反射特性。C++还不支持反射吧,所以其实也不是很适合用来搞新的GUI库了。

#380 Re: 全志 SOC » 想用qtcreator通过ssh调试板子上运行的qt程序,结果总是通不过。 » 2023-08-13 10:36:00

编译器是MSVC吧?换用GCC编译器,Windows版的叫MinGW
PS:现在的新手在提问时老是只给出少得可怜的相关信息,别人看了也懒得追问,于是没人鸟。

#381 Re: 全志 SOC » t113-s3 qt5.12性能问题 » 2023-08-06 21:24:58

凭什么说VNC卡就是真的卡?你用VNC连Windows桌面,流畅性跟本地的是一样的么?

#382 Re: Php/Nodejs/Web/HTML5/Javascript/微信开发/Python » Gmeek 超轻量级个人博客框架 开源 » 2023-08-02 12:13:01

不错。只可惜github在国内访问速度慢,能支持gitee就最好。

#383 Re: 全志 SOC » 求助,触摸事件上报导致内核崩溃 » 2023-07-18 13:23:03

问题的源头应该是 cst3xx_touch_report1 函数

#385 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 学习 » 2023-07-05 12:24:16

嵌入式超过35岁还做敲代码的不在少数,因为入门门槛跟经验加成都比纯IT高,并且行业内卷不算严重。
如果精深自动化相关领域某一方向,如电机驱动、机器人等待遇也不比IT的差,而且加班还少。

#386 Re: 全志 SOC » 请问对于编译Xboot源码的例程生成4MB的.bin文件,在下载到V3S的flash后启动亮屏要好几秒,有提速的方法吗? » 2023-06-25 14:33:56

貌似在全网都没有找到全志MPU上跟NOR Flash的XIP相关的信息。是全志所有的芯片都是空有QSPI接口却不支持XIP?

#387 Re: BLDC电机驱动 » 用D类音频功放驱动步进电机 » 2023-06-20 14:38:19

音频功放驱动实现步进电机的加减速及正反转控制,视频请移步B站:https://www.bilibili.com/video/BV1nj411D754/
生成wav波形文件的python脚本如下:

#!/usr/bin/env python

import numpy as np
import scipy.signal as signal
import wave

freq_min = 10
freq_max = 50
shifting_seconds = 0.5 # 加速或减速时长
con_seconds = 1.5 # 匀速时长

SAMPLE_RATE = 48000 # 采样率

def genwave(f0, f1, seconds, phase_diff=90):
    t = np.arange(0, seconds, 1.0/SAMPLE_RATE)
    vleft = signal.chirp(t, f0=f0, f1=f1, t1=seconds, method='linear')
    vright = signal.chirp(t, f0=f0, f1=f1, t1=seconds, method='linear', phi=phase_diff)

    left_scale = vleft * 32000
    right_scale = vright * 32000

    left_data = left_scale.astype(np.int16)
    right_data = right_scale.astype(np.int16)

    cat_data = np.array([left_data, right_data])
    frame_data = np.transpose(cat_data)
    return frame_data

def genaction(f_min, f_max, shifting_t, con_t, is_forward=True):
    phase = 90 if is_forward else -90
    acc = genwave(f_min, f_max, shifting_t, phase)
    con = genwave(f_max, f_max, con_t, phase)
    dec = genwave(f_max, f_min, shifting_t, phase)
    action = np.concatenate((acc, con, dec))
    return action

def genround(f_min, f_max, shifting_t, con_t):
    forward = genaction(f_min, f_max, shifting_t, con_t, True)
    backward = genaction(f_min, f_max, shifting_t, con_t, False)
    return np.concatenate((forward, backward))

# frames = genaction(freq_min, freq_max, shifting_seconds, con_seconds, False)
frames = genround(freq_min, freq_max, shifting_seconds, con_seconds)

seconds = shifting_seconds*2 + con_seconds
fname = "{}~{}Hz-{}s.wav".format(freq_min, freq_max, seconds)
wf = wave.open(fname, "wb")
wf.setnchannels(2) # 2声道
wf.setsampwidth(2) # 采样宽(字节)
wf.setframerate(SAMPLE_RATE)
wf.setcomptype('NONE','not compressed') # 设置采样格式:无压缩
wf.writeframes(frames.tobytes())
wf.close()
print("generated: {}".format(fname))

#388 Re: 全志 SOC » 请问对于编译Xboot源码的例程生成4MB的.bin文件,在下载到V3S的flash后启动亮屏要好几秒,有提速的方法吗? » 2023-06-20 13:11:30

jiangchun9981 说:

加载的瓶颈是spi nor flash的SPI读取速度 

印象中基本不能再快了

NOR Flash不是有XIP特性么,可以直接在Flash内运行程序。还是说V3S或全志的芯片不支持XIP?

#389 Re: BLDC电机驱动 » 用D类音频功放驱动步进电机 » 2023-06-20 11:09:58

fxyc87 说:

不应该啊,正常应该可以驱动的吧?拿示波器看看波形

可能开环驱动的特性就是这样的吧,转速不高,我换一个小点的电机转速就起来了。我之前都是搞力矩闭环驱动,看来闭环驱动特性确实要比开环的好不少。

#391 Re: 好钜润半导体(TIKY) » TKM32F499开坑 » 2023-06-19 14:41:58

近年国产芯片发展得快,集成度较高的HMI方案出了好多了。ESP32-S3、华芯微特的SWM34S应该要比这个好用了。

#392 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 有没有开源的网络摄像头项目? » 2023-06-19 14:03:55

用笔记本电脑上的那种USB摄像头模组,手指大小。加USB HUB可以就要接多摄像头。

#393 Re: 全志 SOC » 请问对于编译Xboot源码的例程生成4MB的.bin文件,在下载到V3S的flash后启动亮屏要好几秒,有提速的方法吗? » 2023-06-17 00:26:33

本人没用过xboot,初看源码,看似没有类似kconfig的配置方式,而需要修改src/Makefile里的SRCDIRS变量,注释不需要用到的源码的dir来实现裁剪。

#394 Re: BLDC电机驱动 » 用D类音频功放驱动步进电机 » 2023-06-16 13:30:16

优化双声道数据的合并

#!/usr/bin/env python

import numpy as np
import scipy.signal as signal
import wave

freq0 = 10   # 信号起始频率(Hz)
freq1 = 50   # 信号终止频率(Hz)
seconds = 20 # 音频时长(秒)
sample_rate = 4800 # 采样率

t = np.arange(0, seconds, 1.0/sample_rate)
vleft = signal.chirp(t, f0=freq0, f1=freq1, t1=seconds, method='linear')
vright = signal.chirp(t, f0=freq0, f1=freq1, t1=seconds, method='linear', phi=90)

# import matplotlib.pyplot as plt
# plt.plot(t, vleft)
# plt.plot(t, vright)
# plt.show()
# exit()

left_scale = vleft * 32000
right_scale = vright * 32000

left_data = left_scale.astype(np.int16)
right_data = right_scale.astype(np.int16)

cat_data = np.array([left_data, right_data])
frame_data = np.transpose(cat_data)

fname = "{}~{}Hz-{}s.wav".format(freq0, freq1, seconds)
wf = wave.open(fname, "wb")
wf.setnchannels(2) # 2声道
wf.setsampwidth(2) # 采样宽(字节)
wf.setframerate(sample_rate)
wf.setcomptype('NONE','not compressed') # 设置采样格式:无压缩
wf.writeframes(frame_data.tobytes())
wf.close()
print("generated: {}".format(fname))

#395 Re: BLDC电机驱动 » 用D类音频功放驱动步进电机 » 2023-06-16 12:10:39

另外,将功放板接好电机、音频输入和电源然后播放音乐,此时将电机贴到耳边会有惊喜哦。

#396 BLDC电机驱动 » 用D类音频功放驱动步进电机 » 2023-06-16 11:07:02

海石生风
回复: 5

突发奇想,D类音频功放是用两个H桥来驱动两线圈,电磁驱动原理跟步进电机驱动是一样的。那么能否用D类音频功放直接驱动步进电机呢?
只要在左右声道分别输出相位差是90度的正弦波应该就可以驱动电机了。于是说干就干,立马淘了TPA3116D2功放板来实验。
音频功放确实能够驱动步进电机。但经测试发现驱动特性比较一般,抖动挺大,信号频率到100Hz左右电机就转不动。

视频可移步B站:https://www.bilibili.com/video/BV1MW4y1Q7kP/

用于生成驱动信号的wav文件的python如下,感兴趣的同学也可以尝试下。

#!/usr/bin/env python

import numpy as np
import scipy.signal as signal
import wave
from array import array

freq0 = 20   # 信号起始频率(Hz)
freq1 = 20   # 信号终止频率(Hz)
seconds = 20 # 音频时长(秒)
sample_rate = 4800 # 采样率

t = np.arange(0, seconds, 1.0/sample_rate)
vleft = signal.chirp(t, f0=freq0, f1=freq1, t1=seconds, method='linear')
vright = signal.chirp(t, f0=freq0, f1=freq1, t1=seconds, method='linear', phi=90)

# import matplotlib.pyplot as plt
# plt.plot(t, vleft)
# plt.plot(t, vright)
# plt.show()
# exit()

left_scale = vleft * 32000
right_scale = vright * 32000

left_data = left_scale.astype(np.int16)
right_data = right_scale.astype(np.int16)

frame_data = array('h')
for i in range(len(left_data)):
    frame_data.append(left_data[i])
    frame_data.append(right_data[i])

fname = "{}~{}Hz-{}s.wav".format(freq0, freq1, seconds)
wf = wave.open(fname, "wb")
wf.setnchannels(2) # 2声道
wf.setsampwidth(2) # 采样宽(字节)
wf.setframerate(sample_rate)
wf.setcomptype('NONE','not compressed') # 设置采样格式:无压缩
wf.writeframes(frame_data.tobytes())
wf.close()
print("generated: {}".format(fname))

#397 Re: 米客方德 » 米客方德128M 工业级 SDNAND可靠性测试 (测试脚本在12楼) » 2023-06-07 09:12:43

CONFIG.SYS 说:

不知道成本如何
128M SPI NAND 比如W25N01 5块含税
性能似乎比lz这个sd卡还高一些

这个Flash要在外部加东西才能做到SD NAND那样的可靠性

#398 Re: 米客方德 » 米客方德128M 工业级 SDNAND可靠性测试 (测试脚本在12楼) » 2023-06-06 19:36:20

达克罗德 说:

@海石生风
谢谢,不过Nor写起来好慢,容量也小。现在最性价比的产品是什么?EMMC?

汽车电子的控制处理相关系统就用Nor Flash,这个领域可靠性是第一指标,一般用RTOS + Nor Flash组合。赛普拉斯、镁光等厂商就有专门用于汽车电子的大容量(512Mbit~2Gbit)的Nor Flash。

本人即将开工的医疗小仪器项目也打算用 RTOS + Nor Flash组合,UI用Slint,可靠性应该比较高了。
如果可靠性不是第一指标,性价比高的应该还是SD NAND + Linux方案了。

#399 Re: 米客方德 » 米客方德128M 工业级 SDNAND可靠性测试 (测试脚本在12楼) » 2023-06-05 22:01:35

达克罗德 说:

不懂就问,三万次算正常吗?

写入次数寿命并不是最重要指标,可以通过空间换时间,使用足够大容量的存储空间就可以根据耗损算法减小固定位置的写入次数,从而延长寿命。
最重要的指标应该数据保持时长。
Nor Flash声称可以保持数据超过20年,写入寿命超过十万次。
真正可靠的闪存,目前还得是Nor Flash。

#400 Re: 米客方德 » 米客方德128M 工业级 SDNAND可靠性测试 (测试脚本在12楼) » 2023-05-31 09:01:10

你这个输出信息上看不出哪个是读取速率、哪个是写入速率呀。

#401 Re: RISC-V » 博流智能将要推出杀手级芯片bl808(可以跑linux) » 2023-05-26 09:09:21

官方的github、gitee都有提及BL808,BBS上有人回复芯片购买还需等待。应该是SDK还没搞完。

#402 Re: SigmaStar/SSD201/SSD202/SSD212 » 试玩SSD202、212 » 2023-05-16 12:20:47

tangloong 说:

请问如果使用GFX旋转成竖屏显示,性能怎么样? 现在用F1C200S 在LVGL里用软件一行行转成竖屏性能很差,现在RGB找不到竖屏,只有mipi有

全志也有好多芯片支持G2D呀,换个型号不就好了,换平台的话工作量大呀。

#403 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 国产哪家MPU的文档多,且容易买到样片和小批量? » 2023-05-16 12:04:16

暗水天狼 说:

t113上tina系统需要配置Wayland才能运行slint,有配置成功的朋友吗?

MCU裸机都能跑slint,为何一定要Wayland?嵌入式Linux应该用fbdev就可以了。

#404 Re: 全志 SOC » AXP2101 PMU 资料 » 2023-05-15 19:49:18

根据电池放电曲线模型进行电量检测,以后产品量产还不能换电池型号,难搞!

#406 Re: BLDC电机驱动 » 一款成本极低的开源FOC驱动 » 2023-05-06 15:04:19

mysteryli 说:
海石生风 说:

发现 灵动 的方案还有带预驱和MOSFET管的,集成5v LDO最高16V供电,完全单芯片解决方案,电路极其简洁!一个MCU加几个阻容器件搞定BLDC FOC!

有没有型号呢 我去看看

https://mindmotion.com.cn/products/mm32mcu/mm32spin/mm32spin_driver_mcu/
三个型号都带MOSFET管和高压LDO,只有MM32SPIN422C带运放。

#407 Re: Cortex M0/M3/M4/M7 » 求推荐宽供电范围,而且带USB的单片机 » 2023-05-04 22:09:11

谁人会搞小于3V的供电来为难自己呀!? “宽电压” 等于 “5V供电”的意思。

#408 Re: Cortex M0/M3/M4/M7 » 求推荐宽供电范围,而且带USB的单片机 » 2023-05-04 09:58:47

@llinjupt
一块电路板的工作电压在设计阶段就是确定的了,很少说在其工作期间还要不断变换工作电压的。
那么电路设计的时候根据所确定的工作电压选择对应的电压范围的外围芯片即可。不存在你所说的问题。

#409 Re: Cortex M0/M3/M4/M7 » 求推荐宽供电范围,而且带USB的单片机 » 2023-05-03 21:50:44

llinjupt 说:

@海石生风,USB外设比较特殊,规定了电平,SPI模块有提供独立的LDO?5V的MCU,例如沁恒的51系列,5V供电时SPI对外也是5V,需要电平转换芯片。

USB有什么外设?通常都用片内PHY直接就走USB接口出去了。即使用USB HUB或USB转串口芯片,这些芯片都会内置3.3V的LDO。
哪种SPI芯片不支持5V?

#411 Re: 全志 SOC » 有无国产TFT LCD偏置电源芯片? » 2023-05-03 10:57:35

david 说:

LP3102可以吗

这个料的输出电压范围有点小,且只支持VGH和VGL,没有AVDD有VCOM输出。

#412 Re: 全志 SOC » T113-S3 如何在linux中操作IO呢? » 2023-05-03 10:53:26

Linux有两种方法:
1. sysfs:对应的文件是:/sys/class/gpio   但这个方法将要弃用,不太建议使用了
2. libgpiod:提供有专门的应用层API和在shell环境使用的命令行工具,不过要内核版本4.8及以上才支持

#413 Re: Cortex M0/M3/M4/M7 » 求推荐宽供电范围,而且带USB的单片机 » 2023-05-03 10:30:51

llinjupt 说:

USB 3V3电平要求,所以即便支持宽电压供电,还是要3V3,只是GPIO可以容忍5V,但是PY全系列手册未提到3V3时容忍5V,好奇楼主为何有如此需求。

电源电压支持到5V且带USB的MCU通常都会集成USB所需的3.3V电压的LDO,如新唐的M452。
工业控制应用上的电压通常是5V,大多数MCU外围芯片,如EEProm、Flash、RS485/CAN收发器、运放、ADC/DAC芯片都支持5V供电,所以直接用5V的MCU会方便很多。
事实上MCU内核的电压通常是1.8V左右,这电压也通常由内置的LDO提供,所以MCU内置LDO是个常规操作。

#414 Re: Cortex M0/M3/M4/M7 » 求推荐宽供电范围,而且带USB的单片机 » 2023-05-01 22:23:39

Timaker 说:
wh201906 说:

最近看到普冉的PY32单片机供电范围很宽(1.7V~5.5V),但是不支持USB,想问一下有没有既支持宽供电范围又支持USB的单片机

用py32f072 带usb

为何在普冉官网看不到这个型号的信息?

#415 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 国产哪家MPU的文档多,且容易买到样片和小批量? » 2023-04-29 21:15:13

qinhao4832 说:

@海石生风
大佬,请问l嵌入式linux下AWTK套件是怎么样的开发过程?  AWTK designer+AWTK+MVVM?

我用AWTK做了一个项目,ARM Linux + AWTK + MVVM,C语言开发、手写UI描述文件、eclispe做工程管理。
总体感觉:MVVM挺方便,比Qt Widget便利。
但发现用C语言开发有两缺点:1、内存管理有点麻烦;2、因为没有面向对象的语法糖,即使用C来实现面向对象也会有很多重复代码。
好在AWTK-MVVM支持多个语言绑定,下次我可能尝试用C++来开发。GUI开发上还是C++比C方便。

#416 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 国产哪家MPU的文档多,且容易买到样片和小批量? » 2023-04-13 20:48:41

@jiangchun9981
STM32的生态只量资料多,但拿来搞项目时需要耗费大量时间来搞驱动。
MPU + Linux的生态是驱动已经现成,只要拿到SDK就可以直接搞应用,所以并不需要太多的芯片资料。
如果UI的业务逻辑比较复杂,用声明式UI可以节省大量的UI绘图和调试时间。
所以效率最快的实现方案就是LZ所想的:MPU + Linux + 声明式UI 方案。

#417 Re: 全志 SOC » 分享一个自己做的T113-S3裸机IAR工程,有bootloader和led闪烁demo » 2023-04-08 18:53:00

xfdr0805 说:

感谢分享 目前裸机对我来说最大的痛点就是那些个sdio的wifi模块没法子用起来了 只得上重量级选手Linux了

可以上RT-Thread呀,它支持SDIO WiFi。

#418 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » Slint 1.0正式发布! » 2023-04-07 20:10:57

slint这样的声明式UI适用于要手写一堆lv_style_set而觉得烦琐的场合,否则可以继续用类似LVGL这些手写API的GUI。

#419 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » Slint 1.0正式发布! » 2023-04-06 19:36:48

novice 说:

能用C/C++开发吗?不能用C/C++开发的不看好。

可以用rust、C++、JavaScript开发

#420 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 年近四十的新人,如何快速学会电路设计和制作? » 2023-04-06 14:49:48

自学电路设计的话建议用立创EDA,我以前也是主要从事嵌入式软件,近几年就是在立创这个平台上搞了不少电路板,搞多了就入门了。
另外电路板的焊接技能的学习只有一条路,就是多练。可以先在网上看些视频教程,再上手;不过初期最好是有人教。

#421 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 国产哪家MPU的文档多,且容易买到样片和小批量? » 2023-04-06 14:41:16

kincorn 说:

@海石生风
谢谢大佬指点,LGPL License 打包 Android 问题我确实没想过,你提供的方案也扩大了我的思路,我之前用惯了 QT。
只是不知道 AWTK-MVVM 实际工业应用多不多,也担心靠国内一个公司打造的GUI框架平台的生命力。

就在昨天类似QML的声明式UI——slint发布1.0正式版了。这个UI基于rust但也可以用C++开发,感觉兴趣的可以去了解下。

#422 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » Slint 1.0正式发布! » 2023-04-06 14:37:51

海石生风
回复: 4

slint发展得挺快的,昨天即4月3号就在官网“announce version 1.0”。个人比较看好这个UI库,基于rust还是很有前途的:C太简单,C++又太复杂。但愿嵌入式领域能有个趁手GUI。
发布详情见这里: https://slint-ui.com/blog/announcing-slint-1.0.html

#423 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 国产哪家MPU的文档多,且容易买到样片和小批量? » 2023-04-05 13:56:00

kincorn 说:
dycbaba 说:

仪表类不一定需要linux RTOS就足够

业务稍复杂,想用linux 和 C++,也想统一嵌入式、App、桌面端的开发环境。

用Qt搞APP是一个坑,单单License就不好搞,基于LGPL License能不能打包到Android都是一个疑问。不建议用C/C++开发APP。
成本敏感的产器确实不应该用Qt,LVGL、AWTK这些小型UI也可以统一嵌入式和桌面。
用AWTK-MVVM框架,其效果就跟QML差不多。

#424 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 国产哪家MPU的文档多,且容易买到样片和小批量? » 2023-04-04 14:01:49

跑Qt QML成本就不低了,另外在没有GPU的平台上跑QML的显示帧率会不会比较低呀。

#427 Re: 全志 SOC » qmake生成Makefile文件之后,再次make出现错误 » 2023-03-29 20:27:47

求助还这么吝啬,这么点信息,叫人管中窥豹么?

#428 Re: 全志 SOC » 全志T113 » 2023-03-28 09:57:09

fxyc87 说:

搞这么大电感?都用得到这么大电流么?

确实,第一印象还以这是D类音频功放板 big_smile

#430 Re: ESP32/ESP8266 » ESP32S3真愁死了,升级到4.4.4后wifi总是报auth -> init (200) » 2023-03-18 18:30:57

micpython跟IDF是绑定的,用了micpython就尽量不要升级IDF。

#431 Re: RISC-V » 为什么mcu厂家还是用gcc而不是llvm » 2023-03-11 20:18:06

负责内核架构设计的公司才会决定编译器的路线,如ARM公司有专用编译器、也支持GCC、最近又选择走Clang即LLVM。
其它通过购买内核授权来设计MCU,走的就是略事路线,架构授权通常包含编译器支持,也不会自己研发编译器,所以决定不了编译器路线。

#432 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 怒开新坑,自制低成本高速USB分析仪(随缘更新) » 2023-03-09 13:19:53

120通道逻辑分析仪

https://github.com/gusmanb/logicanalyzer

树莓派单片机24通道100Msps逻辑分析仪提升至支持120通道。

支持了菊花链方式级联五个设备,从而允许捕获120个通道。包括渲染引擎的性能改进和可见性改进、屏幕中的更多样本、自动选择捕获模式、编辑功能等。
摘自:硬汉嵌入式 https://www.bilibili.com/read/cv22245829?spm_id_from=333.999.0.0 出处:bilibili

#433 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » 三、新唐N32905U1DN开发教程:使用寄存器配置IO口 » 2023-03-08 23:07:26

N32905U1DN似乎已经停产了,但即使有量产价格也肯定比F100s贵一倍多。

#436 Re: NB-IoT/2G模块/4G模块/GPRS模块/GPS/北斗 » 求推荐一款能传送图片好用的蓝牙模块 » 2023-03-01 14:12:15

@bigbigcong
也就是带WiFi的MCU,现在比较流行的方案是ESP32,其SDK的工具链是GCC那一套,你有Linux经验应该比较快上手。

#438 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 各种国产32满天飞,ST还有中国市场吗? » 2023-02-28 22:30:48

@XIVN1987
新唐市场占有率比ST的小,且有自己的晶圆厂,还在2020年收购了松下半导体制造业务。如果新唐都缺货,那市面上就没有哪个是不缺的了。

#439 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 各种国产32满天飞,ST还有中国市场吗? » 2023-02-28 11:26:12

另外,国产芯片在一些细分领域做得不错,比如有的专门针对电机驱动的片上带ADC、运放、栅极驱动器、三角函数运算加速器甚至高压MOS管、高压LDO等资源。
我下一个42步进电机矢量力矩驱控一体驱动板打算用航芯的QFN32 256KB Flash的Cortex-M4芯片。

#440 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 各种国产32满天飞,ST还有中国市场吗? » 2023-02-28 10:21:38

saub 说:

部分产品又换回STM32了,现在STM32虽然价格和国产的差不多,但STM32稳定性明显更好,我们核仪器仪表对稳定性要求比较高,再加上国产的芯片部分供应商乱搞,订货量一大就随意涨价,风险太大

国产也稳定性好的,比如说台系的新唐,她的5V供电的Cortex-M4似乎全球仅此一家。
"随意涨价"说的是华强吧,我从没遇到这种情况,一个商家代表不了全部。

#441 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 各种国产32满天飞,ST还有中国市场吗? » 2023-02-27 21:36:04

我要用5V电压供电并带FPU的MCU,现在在用新唐的M451系列。STM32的开发工具已经删除了。

#443 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » 编译buildroot时,makedev dev/console, file exist. » 2023-02-23 12:09:54

“bool变量搞++运算”是什么神操作?应用这么广的fakeroot竟有这等代码!?
估计buildroot里的fakeroot版本低了,建议改为用ubuntu官方软件仓库里的fakeroot

#444 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » 编译buildroot时,makedev dev/console, file exist. » 2023-02-22 10:35:51

不要用root权限来搞编译。这个问题通常是编译输出的文件已存在且正在运行,关闭或退出这个文件就可以了。

#445 Re: 全志 SOC » 有无国产TFT LCD偏置电源芯片? » 2023-02-21 19:49:31

笔走天下 说:

SGM的也可以

SGM是“圣邦微电子”吧,没发现有跟TPS65150类似的芯片。

#447 Re: 全志 SOC » 有沈阳地区的朋友吗,有偿需要F1C100或V3S+rt-thread+QT相关的项目开发 » 2023-02-20 13:25:53

lincolne 说:
海石生风 说:

RT-Thread上跑Qt?

我也不是很了解,RT跑Qt不合适吗?

难度不小。RT-Thread配LVGL才合适。

#449 全志 SOC » 有无国产TFT LCD偏置电源芯片? » 2023-02-19 17:16:37

海石生风
回复: 12

7寸左右大小以上的TFT LCD屏都要外部提供几个偏置电源,粗放点的驱动方式是类似下图从DC-DC开关电路中通过稳压二极管实现偏置电压。
而精细点的方式是用专门的LCD偏置电源芯片,但我找了一圈发现只有TI有这类芯片(TPS65150之类)。
有无国产TFT LCD偏置电源芯片?
Screenshot_20230219_170802.png

#450 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » ubuntu22.04运行qt5程序报错找不到platform。 » 2023-02-16 13:09:39

很明显是qtcreator的依赖库不匹配,应该使用官方软件仓库的qtcreator

#451 Re: 感芯科技 » 给MC3172 增加shell » 2023-02-16 12:19:20

“-/bin/bash:” 这个输出信息太吓人了吧

#452 Re: Cortex M0/M3/M4/M7 » 求个推荐,内置高速USB(速度480 Mb/s)PHY的单片机 » 2023-02-10 09:57:00

CH32V305 TSSOP20目前是最优解,带USB HS PHY的MCU有好多,但引脚数都不少。

#453 Re: 上海航芯 » ACM32没有8080或6800这类并行接口 » 2023-02-10 09:50:33

需求是产品升级,目前找到符当前尺寸的LCD只支持并口。
看了下,ACM32G103有并口接口,但还是祖传地没有VBAT引脚,RTC根本没法用!不知道航芯的人是怎么想的

#454 Re: 上海航芯 » ACM32没有8080或6800这类并行接口 » 2023-02-09 19:57:40

重大发现,ACM32没有RTC独立电源VBAT引脚,RTC怎么用呢?

#455 上海航芯 » ACM32没有8080或6800这类并行接口 » 2023-02-09 15:07:41

海石生风
回复: 3

想用ACM32驱动并口的12864 LCD时才发现,ACM32没有STM32那样的FSMC或新唐MCU那样的外部总线接口。
只能用IO模拟的方式来驱动,不太方便。不少国产MCU都这类并行接口。
建议添加并行接口来完善下。

#456 Re: Cortex M0/M3/M4/M7 » 基于STM32H7B0芯片做软件开发教程 » 2023-02-04 09:21:08

david 说:

国产好像还没m7

国产有RISC-V,RV32IMAFDCP指令集性能超过Cortex-M7了,并且还有更强的RISC-V64。

#457 Re: 全志 SOC » 求助,关于荔枝派编译的问题 » 2023-02-04 00:37:03

已经明确提示-march选项不正确了,荔枝派CPU是ARM926EJ-S为ARMv5TE架构,所以要将编译选项的 -march=armv5 改为 -march=armv5te

#458 Re: 全志 SOC » F1C100S XBOOT 动态内存管理 » 2023-02-03 21:20:37

这是“TLSF内存分配算法”,可以查些资料来了解下。

TLSF算法“将动态内存的分配与回收时间复杂度都降到了O(1)时间复杂度,并且采用了Good-fit的分配策略保证系统运行时不会产生过多碎片。”
引至这里

#459 Re: ESP32/ESP8266 » 乐鑫要发的新芯片esp32-P4 » 2023-01-13 21:12:15

Mitko 说:

乐鑫聘请欧洲人来支持硬件是件好事。中国软件太烂了。

没有人强调中国软件好。建议老外不要用中国硬件。
中国国内市场足够大,立足国内即可养活很多硬件公司。

#460 Re: ESP32/ESP8266 » 乐鑫要发的新芯片esp32-P4 » 2023-01-11 10:39:39

Lunasama 说:
novice 说:

现在客户要求产品必须用国产芯片,台湾产的都不行。国产芯片的春天来了。

但是国产芯片大厂还好,小厂一堆坑,缺货的时候大厂和进口一样没货

还没被STM32几百块钱的芯片吓跑么?大厂的用的人多,缺口大、涨价猛,小厂的用的人少,可能还会有库存。

#461 Re: ESP32/ESP8266 » 乐鑫要发的新芯片esp32-P4 » 2023-01-10 21:34:20

@Blueskull
用国产不是因为信仰,而是在于减小供应链风险,风险来源大家都懂。

#462 Re: ESP32/ESP8266 » 乐鑫要发的新芯片esp32-P4 » 2023-01-07 23:10:00

david 说:

Esp32的io映射确实方便 不过只是最近几款有 你确定p4会保留么 调试方面sw接口不比内置jtag差 另外 他家rv的性能怎么样 有benchmark么 lx6有人实测是m4的级别

你没有细看,报道上已经指明有IO映射阵列,而USB-JTAG调试器你也没弄明白,这是在片内集成了JLink这样的USB转JTAG调试器,支持USB转JTAG及USB转串口。
将芯片的USB口连接到电脑就可以实现JTAG调试和串口调试!这是买MCU送USB转JTAG调试器!

#463 Re: ESP32/ESP8266 » 乐鑫要发的新芯片esp32-P4 » 2023-01-07 14:35:44

david 说:

不管叫什么 它跟T113有8成以上是功能上相似的

能像ESP32这样IO支持阵列映射和集成USB-JTAG调试器所带来的便利性的,别无二家。

#465 Re: ESP32/ESP8266 » 乐鑫要发的新芯片esp32-P4 » 2023-01-06 20:23:37

david 说:

好像不带wifi了 剩下的soc能干过国内其它厂家吗

这个是MCU而不是MPU,不单国内,放眼全球能干得过它的MCU都没几个。

#466 Re: 上海航芯 » 上海航芯电机辨识上位机全新上线(资源+演示教程) » 2023-01-06 13:46:27

不错呢。不过我搞医疗自动化仪器都是用的步进电机。改天抽空入手BLDC控制可以拿这个搞搞。

#467 Re: ESP32/ESP8266 » 乐鑫要发的新芯片esp32-P4 » 2023-01-06 12:16:13

国产芯片越来越牛啦,看了规格就兴奋。
wujique 心心念念的带H264编码的MCU马上就有了

#468 Re: 上海航芯 » ACM32H5新产品需求及意见收集 » 2023-01-06 12:13:51

乐鑫即将发布的ESP32-P4才是大家想要的,让人一看规格就有心动的感觉:双核400MHz+20MHz、MIPI、H264编码、USB-JTAG调试接口、通过陈列式IO映射使芯片引脚控制在100脚以内。

#469 Re: RISC-V » RISC-V不支持非对齐地址访问非常坑 » 2023-01-06 11:31:19

非对齐操作即使支持也应该回避,这所以产生非对齐操作无非是想减少内存复制,但非对齐操作性能太低,不如复制内存对齐起来跑得更快。

#470 Re: RISC-V » 博流智能将要推出杀手级芯片bl808(可以跑linux) » 2023-01-06 10:40:38

astankvai 说:

这个板子哪里有得买?

Sipeed淘宝店M1s

#471 Re: RISC-V » RISC-V不支持非对齐地址访问非常坑 » 2023-01-05 19:56:59

GCC编译器的特定优化选项会自动将不对齐的操作转为对齐操作。

#472 Re: Cortex M0/M3/M4/M7 » 有没有带H.264编码的单片机? » 2023-01-03 19:07:55

wujique 说:

为什么我讲是单片机,其实就是针对现在大部分的都是linux+soc方案,他们需要的资源通常比较多。
那么mcu+rtos,就能节省资源,就能有成本优势。。。

BL808这个芯片太强大了,3核+无线,价格在sipeed上看好像是6刀。

H.264即使是硬件解码也要比较大的MB级的内存,普通的只有几十KB的SRAM的MCU实现不了。

#474 Re: Cortex M0/M3/M4/M7 » 国产王炸中的战斗机-普冉py32f003/py32f030(价格6毛起步) » 2023-01-01 22:46:56

echo 说:
海石生风 说:

普冉的MCU都挺便宜,只可惜全系列都没有USB。
看了很多家厂商,32位、带USB、低管脚、高性价比MCU就数沁恒的CH32V203(TSSOP-20)了。

还有CH571F

CH571是什么价位?主频只有20MHz有点低,主要还是应用蓝牙产品。CH32V203 144MHz除了USB还有CAN和OPA,性价比不是一般地高。

#475 Re: Cortex M0/M3/M4/M7 » 国产王炸中的战斗机-普冉py32f003/py32f030(价格6毛起步) » 2022-12-31 11:36:19

普冉的MCU都挺便宜,只可惜全系列都没有USB。
看了很多家厂商,32位、带USB、低管脚、高性价比MCU就数沁恒的CH32V203(TSSOP-20)了。

#476 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » 新塘官网有ma35d1开发板的硬件资料了。 » 2022-12-28 10:16:09

@1847123212
你应该是说T113-S3的工作温度是-20~85℃吧,确实有点可惜不是纯正的工业级。但MA351没有LVDS是一大硬伤,稍大点的工业显示屏都用LVDS。
另外,新唐的SDK都遵循开源协议直接在github和gitee上公布,不像大陆好多企业,明明SDK是GPL协议却搞得神神秘秘不得下载。
建议大家不要用那些基本协议都不遵循的厂商的芯片,不要让这种企业发展下去。

#477 Re: SigmaStar/SSD201/SSD202/SSD212 » 有没有SSD222D玩UCOSII的例子? » 2022-12-28 10:04:29

sigmastar这种把SDK搞得那么神密东西确实不好搞。我之前已经实名注册了个人帐户,当我在之前的公司离职后,发现原来的SDK下载权限就没有了。懒得搞了,不想再用这个公司的芯片做新产品了。

#478 Re: Cortex M0/M3/M4/M7 » 请教,c语言里的switch里,可以if语句里再加case吗? » 2022-12-28 09:29:50

davidxu 说:

不能,语法错误。写个小程序验证一下就知道了。

没有语法错误……

#479 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » 新塘官网有ma35d1开发板的硬件资料了。 » 2022-12-22 09:51:28

Mitko 说:
Gentlepig 说:

原来挺期待这个芯片的,可现在出来了以后,又觉得不如t113-s3香了。

全志T113-S3是商业产品, MA35D1是工业解决方案。

记得有人跟我说过,T113是工业级的呀

#480 Re: 上海航芯 » ACM32H5新产品需求及意见收集 » 2022-12-19 10:48:08

上海航芯市场 说:
zhjerry 说:

480M的USB PHY上了2个, 能不能给100M的LAN来一个PHY?

以太网的PHY还没见过原厂集成在片上(集成的性价比不高),如果是叠封,意义不大吧。同样制程,以太网的PHY面积比USB PHY大多了。

沁恒的CH32V307,以太网MAC是1000Mbps,集成的以太网PHY是10Mbps。大多数场合10Mbps就够用了,想上高速再加外部PHY。
非常合理而有用的做法,毕竟PHY占用的引脚不少。

#481 Re: 上海航芯 » ACM32H5新产品需求及意见收集 » 2022-12-17 19:05:22

这个资源搭配的BGA封装没什么吸引力,为减小封装尺寸最多上QFN封装好点。

#482 Re: DOPI开源摄像头(HI3516/HI3518) » 全智神u f1c200s怎么就盖过了hisi3518ev200,300,hi3516ev200? » 2022-12-16 10:42:08

全志的产品线要比海思丰富,标题中海思这个定位是摄像头,而F1C200s定位是多媒体处理器,没有可比性。
海思的多媒体处理器似乎只有A53,而全志的从ARM9到A7再到A53都有,可以满足不同的应用场景。另外全志还有RTOS SDK,海思似乎只有Linux SDK

#483 Re: SigmaStar/SSD201/SSD202/SSD212 » 试玩SSD202、212 » 2022-12-16 10:26:55

quba54 说:

Could someone upload 212 SDK to some git, etc? For uses outside China it's not possible to register on this comake site.
Thanks

You can contact them right here: https://www.sigmastar.com.cn/index.php?p=contact&lanmu=6

#484 Re: 上海航芯 » ACM32H5新产品需求及意见收集 » 2022-12-16 10:15:20

这个定位是跨界处理器的话,主频可以提高点,RSIC-V都搞到双核800MHz了。主频高点才能驱动分辨率大点的LCD

#485 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 【github项目】给大家介绍一个非常不错的GUI ---- littlevgl » 2022-12-15 14:08:39

Zona 说:

突然发现github的littlevgl找不到了,是发生了什么事情么?
就是这个链接https://github.com/littlevgl/

成立LVGL组织了 https://github.com/lvgl/lvgl

#487 Re: Cortex M0/M3/M4/M7 » 国产王炸中的战斗机-普冉py32f003/py32f030(价格6毛起步) » 2022-12-06 12:26:18

lei4689 说:

@Blueskull
看过几家国产单片机规格书,几乎没有几个ADC指标做的好的,模拟性能真的考验一家公司的设计水平。

其实MCU片内ADC都不会太好,即使是STM32的ADC终合误差至少也有10LSB左右

#489 Re: Cortex M0/M3/M4/M7 » 国产王炸中的战斗机-普冉py32f003/py32f030(价格6毛起步) » 2022-12-05 11:35:19

@lei4689
这个可能是ADC的规格的影响,要看ADC的误差,包含:微分误差、积分误差、线性误差还有温度漂移。

#490 Re: 全志 SOC » 请教哪个官方文档能查询到F1C100S的Uboot需要放在 8k偏移处? » 2022-12-02 13:05:50

分区为MBR格式的硬盘,其主引导记录只占一个扇区,大小只有512字节,位于硬盘的起始位置。
而GPT硬盘的分区表占用34个扇区即17.51kB大小,故这里空出的8kB空间存不了GPT分区表,即这个偏移兼容不了GPT硬盘。
所以这个8KB偏移是由IROM的引导程序确定的。

#491 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 尝试使用C#开发一款串口调试工具 » 2022-11-29 14:54:13

虽然我没搞过C#,但很明显 textBox_debug应该要像textBox_recv那样AppendText时要区分HEX和ASCII

#492 Re: 全志 SOC » 简单的点灯求助 » 2022-11-25 15:12:39

学驱动动最好先仔细了解下MMU,支持进程的操作系统其内存地址都是虚拟化的即由MMU管理,故不能直接操作物理地址,要通过地址映射进行访问。

#493 Re: ESP32/ESP8266 » ESP32S3,开发HMI真有意思,报告下功能,有图有真相: » 2022-11-25 15:04:51

Iven 说:

搭建这个环境就差点劝退我了

在现今做MCU开发也非常有必要了解GCC及其配套的这一整套工具链。

#494 Re: SigmaStar/SSD201/SSD202/SSD212 » SSD2xx芯片,怎么就找不到数据手册和参考手册? » 2022-11-24 20:49:27

@吴助建
上Linux就不需要看手册了。如果搞Linux还要看芯片寄存器的话就失去上Linux的意思了,之所以用Linux就是看重它的驱动已经现成。

#495 Re: 上海航芯 » 2022年全球MCU生态发展大会暨ACM32G103发布PPT下载 » 2022-11-24 20:43:58

@gdwindow
我猜其研发内部已经开始搞RISC-V了,只是产品还没那么快落地。

#496 Re: RISC-V » 开源一个AB32VG1的开发板 » 2022-11-24 20:39:14

吴助建 说:

SDK绑定RTT这个RTOS,也是醉了。
SDK应该跟什么RTOS都没有关系才对,绑定一个RTOS,不喜欢这个RTOS的,肯定不想用。
对于芯片厂家来说,来个简单的标准库,才是王道。

蓝牙跟音频的东西比较复杂,不可能像STM32那样把外设寄存器封装一下就可以用从而做成标准库。
像TI的蓝牙SDK就不是RTOS,但也是标准库那么简单,且使用起来不灵活,框框条条很多。

#497 Re: 全志 SOC » f1c100s/200s的串口波特率最大是多少? » 2022-11-18 10:30:07

楼上都说了波特率到1Mbps多一点就不稳定了,你搞2Mbps肯定不好弄。
高速传输速率主要受限于信号完整性。如果信号的高低电平变化所需的时间超过了0.25位的时间,你的波特率再准也不能保证信号正确。这是由传输线路的容抗和发送器的驱动能力决定的。

#498 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 单片机如何构建json数据? » 2022-11-18 10:08:58

想整个5KB用snprintf一下构建出来肯定不现实,要分段处理,一段一段地追加。
5KB并不大,可以先在SRAM里构建好再传输。我以前搞过在SRAM只有两三KB的16位MCU传两三KB的JSON,实现方法就是要一边构建一边传输。

#499 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » KEIL开发LVGL显示汉字不能正常显示 » 2022-11-18 09:50:33

BOM是懒惰,更不可能是校准!不同编码都有它的编码规律,在文件档前加个非编码的数值直接影响了对文件编码的判定,这就是所谓“破坏文档语法约定”,跟用编码本身的数值(即可显示字符)的方式指示“encoding”是两码事,OK. BOM是非显示字符,如果没有留意,很难察觉是它导致的问题。
我不想浪费口舌了,自己慢慢理解吧。

#500 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » KEIL开发LVGL显示汉字不能正常显示 » 2022-11-17 22:58:13

@novice
不要自以为是,不同编码都有它的规律,判断一个文件是什么编码不是靠猜的。Linux跟苹果系统都不认可BOM,照样可以正常打开各种编码的文件。另外,Linux下判断一个文件的类型也不是Windows那样通过后缀名来确定的,而是通过文件内容来确定的。
BOM是不可显示的内容,会破坏文档语法约定。
如果你不加思索地往文件加BOM,要是日后你要在其他平台使用这个文件,你会遇到很多问题。

至于为什么微软喜欢加BOM,我认为就是他们的工程师懒惰,就像简单地通过文件后缀名来确定文件类型一样!

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn