您尚未登录。

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

histimes 说:

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

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

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

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

echo 说:

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

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

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

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

ubuntu 说:

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

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

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

lyg116 说:

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

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

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

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

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

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

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

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

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

Gentlepig 说:

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

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

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

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

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

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

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

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

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

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

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

#11 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那一套)。

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

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

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

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

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

#15 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),然后重启。

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

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

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

GPL开源不能商用

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

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

#17 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才有。

#18 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。有点奇怪!?

#21 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%

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

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

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

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

WhyCan_dev_pp 说:

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

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

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

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

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

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

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

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

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

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

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

zailiy 说:

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

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

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

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

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

达克罗德 说:

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

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

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

zailiy 说:

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

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

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

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

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

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

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

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

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

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

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

wujique 说:

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

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

#36 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

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

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

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

willX 说:
海石生风 说:

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

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

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

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

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

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

ArtInChip 说:

@海石生风

有PWM的例程

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

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

ArtInChip 说:
海石生风 说:

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


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

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

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

海石生风
回复: 7

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

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

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

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

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

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

Fomalhaut 说:

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

GPL开源不能商用

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

睡眠不足 说:

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

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

#49 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为什么要这样做,很程度是因为它要实现热加载功能。

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

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

#51 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文件夹存放的是内核模块

#52 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 $?

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

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

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

#54 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左右,还可以接受。

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

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

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

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

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

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

#58 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都能访问,缺点:浏览网页的速率要比镜像网站的慢

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

微鑫科技 说:

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

没有。主要搞步进电机。

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

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

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

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

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

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

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

david 说:

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

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

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

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

#66 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'”这种确实有点麻烦,我还在构思。

#67 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这个编译时特性在众多编程言语中是绝无仅有的。

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

david 说:

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

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

#69 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

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

Quotation 说:

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

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

#71 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

#72 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断言而死掉。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#82 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库要另行确认是否有不同。

#84 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社区。

#85 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组件树。

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

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

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

海石生风
回复: 12

借鉴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作为后端来显示窗口。

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

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

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

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

#91 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来滑动
}

#92 计算机图形/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项目的心得。

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

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

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

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

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

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

#96 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

#97 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称之为直接渲染管理器的原理。

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

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

#100 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的高。

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

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

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

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

#103 计算机图形/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

#104 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接口?

#105 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-01-09 17:31:29

armstrong 说:

你这说法不对,个人用户并不需要他们的技术支持,只需要他们开放文档而已,开发者自己会研究。
我看现实原因是他们根本拿不出像样的技术文档,更别谈开不开放了。国内多数厂家(兆易除外)就这尿性!

用国产芯片当然不能要求价格比进口的低的同时文档还要像进口一样丰富。
现在大家说的是,国内好多公司连芯片手册的相关资料都没有提供。

#106 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-01-09 17:00:52

echo 说:

ST?你指的是STM32?这类MCU本身就很简单,直接丢一点资料靠谱点的个人用户就都搞定了。
复杂SoC给你资料你个人也搞不定,到时候还得去骚扰厂家。你见过Intel、AMD、高通、MTK对个人开户开放资料吗?

STM32MP1系列是M4+A7的MPU,不简单吧,比全志单核ARM9的复杂吧。但人家依然像MCU那样该有的资料都放出来了。

#107 Re: 工业芯 匠芯创 » ArtInChip 对接 DRM (Direct Rendering Manager),基于 D213ECV 板卡 » 2024-01-09 16:50:38

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

#108 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-01-07 17:51:50

echo 说:

这样挺好的,个人小白买家坚决不买,厂家把技术支持资源投入到产生价值的大客户。长此以往,厂家芯片一点也不少卖,还不用降价。

大客户的方案选型就不是人做出来的么?说到底还依然是有人受不住诱惑选了这种芯片,让这种公司活了下来。
而行业上的其它公司,见到这种模式不是死路,就毫不畏惧地效仿着也走这种模式。久而久之,这种公司就多起来了。

#109 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-01-06 15:22:30

大家要受得住诱惑,即使芯片价格再便宜也不要选用,让这些公司没有活路。长此以往,市面上自然就不会有这种公司了。

#110 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类似于编译器宏,是内置在编译套件里的。

#111 Re: 全志 SOC » 请问F1C200s buildroot 如何开启 BR2_ARM_CPU_HAS_NEON » 2024-01-05 21:23:40

ARM9芯片没有NEON呀,Arm Cortex-A系列芯片才有。

#112 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输出

#113 Re: RK3288/RK3399/RK1108 » 为什么瑞芯微公开资料这么少呢 » 2024-01-05 15:37:23

还是ESP32这种模式好,只把非常少的一部分内容闭源,SDK开源还接受PR,让大家都参与进来。这不一样搞得红红火火么!

#114 Re: Xilinx/Altera/FPGA/CPLD/Verilog » AG1280 » 2024-01-04 11:57:32

有没有可能是因为用的人还有多,升级代价小就直接升级了呢。
君不见STM32F103的I2C都有较大设计问题,而又没有升级,是不是因为用的人较多不好升级呢?

#115 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 请教,socketcan接收,用哪种方案好呢?子线程不停读?用QSocketNotifier?epoll? » 2024-01-03 13:16:05

Linux应用程序不能直接响应硬件中断,那是底层驱动做的事。
poll, epoll, select都是轮询方式,要开线程来处理,比较麻烦。
软件用Qt写的话自然用QSocketNotifier最简单,不需要开线程来接收数据。其内部应该就是用的poll, epoll, select这些接口做了轮询来实现的。

#116 Re: 工业芯 匠芯创 » 为什么我的编译后有bin, elf, map文件,但是没有img文件 » 2024-01-03 11:46:01

为什么你提问没有把编译输出信息帖出来,是要大家帮你猜么?

#117 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 请教,局域网内,嵌入式llinxu设备,如何向pc上位机传送数据? » 2024-01-02 09:54:47

关键要看你数据要怎么用。如果只是想浏览数据,可以用rsyslog,把数据当成日志给远程PC日志服务器即可。Linux有完善的日志管理工具。
如果拿到数据还要做加工,就用socket,定个简单的通信协议就行了。

#118 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » rtthread 初始化阶段中断开关是不是有问题? » 2023-12-26 16:21:02

有时序要求,中断处理函数所使用的模块如果没有初始化就触发中断就会出问题。

#119 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 想找个价格便宜的单片机跑音频算法,主频越高越好,有I2S口... » 2023-12-26 15:01:34

本坛匠芯创的d13x系列比较合适这个需求:十七八块钱;480MHz带FPU;带RVV扩展支持SIMD加速,适合跑音频算法。
但目前的SDK可能不太合你口味,IAR裸机开发包还没出来,IAR支持要自己弄。
也比较好奇,IAR是否已经支持RISC-V的RVV扩展。

#120 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 下载了一些开源飞控源码看,为何用freertos的这么少。 » 2023-12-22 18:56:27

@EE
起初是裸机,由于对可靠性要求极高,于是最起码要对不同任务进行内存地址隔离。隔离后,不同任务间要通信,就是要做通信组件;还要监控不同任务是否正常运行,如果异常就要做最小损失处理。还要对整个任务系统进行备份(我国当前的航天器已经做3套备份了)。
这些东西做下来,就不由自主地变成一个OS了。

顺便一提,经常飞越星际的VxWorks已经支持“容器”这个虚拟系统的概念了,将实时性要求不高又容易出错的任务跑在容器里,以隔离其对整个系统的影响。
航空航天的可靠性要求不是民用的能比的,而航空航天系统又越来越复杂,肯定要对硬件资源进行管理,这一管理就变成一个OS了。
这不是为了OS而上OS,而是无奈地成为了OS。

#121 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起始位置。

#122 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

#123 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 下载了一些开源飞控源码看,为何用freertos的这么少。 » 2023-12-22 14:55:06

echo  说:

@海石生风
我写过很多数字电源电机控制项目,也见过无数类似实时控制系统的代码,都是强实时控制系统,都是裸奔。原来你是写飞机、导弹、飞船代码的?失敬失敬。顺便请教下,你们飞机、导弹、飞船用几个CPU/MCU?都用什么系统?电动自行车用一个MCU,电动滑板车用3个MCU,都是裸奔。比较简单的汽车要用50-100个MCU。

这就是典型的“以自己立场感受为常识”的主观见解。

#124 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 花了小半天 搭了个全新版本 eclipse + gcc ... » 2023-12-22 14:41:57

易用性是个主观的东西,比如我习惯了eclipse、VS Code这些工具了,再用IAR就有种从现代社会进入到原始社会感觉,写代码感觉束手束脚。
eclipse再过20年界面都会是这样,等ecipse变成你说的那种易用性那它就不是eclipse了。比如沁恒搞的那个对eclipse做大量裁减的IDE,让熟悉eclipse的人哭笑不得。

#125 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-12-22 14:09:50

songjiaming 说:

问一下,这款芯片如果跑RTOS,驱动上支持G2D和MIPI吗

官方SDK就是基于RTOS RT-Thread,且SDK里的LVGL已经适配G2D;自然也支持MIPI。

#126 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 花了小半天 搭了个全新版本 eclipse + gcc ... » 2023-12-22 12:41:36

@fubaojun2006
不同的人对工具有不同的需求也就会有不同的选择,但也应该在较为充分地了解一个工具后才去判断这个工具是否适合自己。
不同项目对工具也会有不同的需求,当一个项目足够复杂之后,开发者就会不由自主地想换功能更好更为复杂的工具。但如果拿复杂工具去管理只有一两个文件的简单项目,只会把事情搞得更复杂。

#127 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,就当我没说。

#128 Re: DOPI开源摄像头(HI3516/HI3518) » 搞了一个视频传输协议,想做一个无线网络摄像头,有没有什么推荐的方案? » 2023-12-21 16:28:52

@非叉叉
哦,大意了,摄像头出H264确实只能走USB UVC方案了。然而ESP32只有USB FS,USB带宽不是很大,分辨率大点可能就跑不起来了。

#129 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下来感觉还好,挺便利的。

#130 Re: DOPI开源摄像头(HI3516/HI3518) » 搞了一个视频传输协议,想做一个无线网络摄像头,有没有什么推荐的方案? » 2023-12-19 13:45:21

单芯片集成H264编码器和WiFi的方案,似乎还没有,即使有,应该也是专用芯片不好买。
两种方案:

  • 支持H264输出的摄像头 + ESP32

  • 普通摄像头 + 带H264编码器的MPU + WiFi模块

#131 Re: 全志 SOC » t113 tina sdk » 2023-12-18 10:39:23

bigzhu 说:

没用过langan sdk,我上来就接触tina sdk,感觉这玩意不适合初学者,全志整的代码有点乱,整个打包流程写了一两千行脚本,参杂着各种第三方工具和自定义工具。生成的中间文件有几十个,真是服了。

我接触了两个厂商的SDK都是这样,问下哪个厂商的SDK简单点?

#132 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

#133 Re: 全志 SOC » LVGL 只有物理按键 » 2023-12-17 11:32:46

regbbs 说:

@huaze
是的,不过防抖放在回调函数或其他地方比较好

用硬件去抖吧,关联一个104电容就行了,增加不了多少成本。
软件去抖,如果是裸机容易影响显示帧率。

#134 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/

#136 Re: 全志 SOC » 全志网站,下载SDK的问题 » 2023-12-17 10:37:17

@吴助建
哪里开发都一样,不同版本的工具之间肯定会有兼容性问题,即使是声称宇宙最强的那个IDE也不能幸免。
解决办法其实很简单,将所用到的工具打包成toolchain包连同SDK一起发布即可,只是全志没有这样做而已。

#137 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 下载了一些开源飞控源码看,为何用freertos的这么少。 » 2023-12-15 18:34:47

echo 说:

强事实控制系统裸奔最好,引入一个组件就会增加额外的风险

飞机、飞船、导弹为什么也用RTOS?裸机一个任务死掉,整机都死了。要隔离不同任务才能把风险降低,这种隔离实施起来就不由自主地就变成一个OS了。
实时性能要求也是上RTOS的原因之一。

#138 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。

#139 Re: 工业芯 匠芯创 » D133CBS 纯IO翻转 RTT » 2023-12-15 12:41:02

GPIO说明在芯片手册第12章第10节,里面有寄存器描述。

#140 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-12-14 10:30:05

@老鸟kkk
最新文档上,数据手册是最新版,但芯片手册还是旧版。等文档更新吧,记得隔一段时间就 git pull 一下。
文档基于git还是挺方便,不需要不停地下载新版PDF文档。

#141 Re: 工业芯 匠芯创 » f1c200s 和 D213 图形性能对比 » 2023-12-13 18:40:51

f1c200s应该是没有G2D,但平移动画的运算开销是最小的,优化好了应该不至于这么卡,但如果显示分辨率比较大就另说。

#142 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-12 10:18:20

上面说的话可能冲了点,但一大早看到别人大神为了解决软件工程问题辛辛苦苦做出来的工具说是内卷,真的很生气。
C语言的构建系统很垃圾,只能靠第三方工具来管理构建并在源码里写很多宏来决定什么代码参与构建什么不参与构建。这样代码量一多,这些宏的数量没有上百也有几十,并且有些宏相互依赖、有些宏相互冲突。如果没有Kconfig这种可视化配置工具,手工一个个地去改这些宏,搞不好忙了大半天都通不过编译。
为了所谓的不“内卷”不学这些工具,手工一个个地去改编译宏,就老老实实加班吧。

#143 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-12 09:42:05

@tangloong
这是带系统的有很多组件和驱动要配置,不是裸机直接导入文件就可以用。这些工具是为了减轻人的工作负担,说白了是人偷懒用的。
还是搞你的裸机吧,带系统的不适合你。

#144 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-11 22:00:08

sjshe3326 说:

上面说的和佳奇说反思自己有没有努力一样

嵌入式的技术更新速度已经比互联网的低很多了,多一点东西都不愿意学,不要指望以后技术能进步到哪里去。

#145 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-11 17:32:34

gcc、eclipse、VSCode、scons、Kconfig这些都是常用工具,如果工作几年了都还只会大学里学的Keil/IAR,个人认为是没什么上进的。

#146 Re: 工业芯 匠芯创 » D133/D213有IAR可用的开发包吗? » 2023-12-11 16:03:01

musich 说:

IAR 的 RISC-V, 和51一样,  比较简单高效,

RTOS SDK基于RT-Thread,可以用RT-Thread的配置工具导出IAR工程来用。

#147 Re: 站务公告/网站建设 » 看不到当天的帖子回复 » 2023-12-11 15:07:47

@skrlaoshiren
我看到的几个论坛都是白天不审核,夜间才需要审核。
先有了人气再来管理水积分行为吧,搞得人气越来越少,现在是论坛自己自动翻老旧帖子到前列了,让人点进去一看,TM的几年前的帖子!

#148 Re: 工业芯 匠芯创 » d13x系列封装 » 2023-12-11 14:58:02

按老外的做法,既然是开源指令集的MCU/MPU,那么都会提供开源工具KiCAD的符号库和封装库。

#149 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?

#150 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 下载了一些开源飞控源码看,为何用freertos的这么少。 » 2023-12-09 18:57:39

不要以自己的立场感受为常识。比如,从事Linux底层的人对nuttx就会很熟悉并觉得freertos功能太少。
像小米就选nuttx作为他们产品的RTOS,明显是因为他们的团队以前是搞手机系统的,众所周知,手机系统内核是Linux。

#151 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-12-09 12:41:27

100pin库存不足 我觉得是你们官方带的头 tongue ,全功能开发板都只用88pin的芯片。

#152 Re: 站务公告/网站建设 » 看不到当天的帖子回复 » 2023-12-08 17:57:02

实话实说,论坛炒冷饭把老旧贴子翻出来、白天的回贴也要审核且审核时效低,会劝退很多人。

#153 Re: Cortex M0/M3/M4/M7 » STM32G030F6P6这个mcu有用过的吗, ADC是不是很拉跨? » 2023-12-08 14:39:03

这是低成本低管脚芯片,没有分开数字电源和模拟电源,不要指望它的指标有多好。
想要指标好就老老实实加钱,用起码有单独模拟电源输入的芯片。

#154 Re: 全志 SOC » 为啥全志很多开源库停止更新了? » 2023-12-07 11:28:05

jlau 说:

官网的也不更新,因为一更新就要移植和重测,打工的码农伤不起。
不变的代码是死代码,但工资照发,客户不报bug就成。

看来全志这水有点深呢,小客户选型前得三思。

#155 Re: 工业芯 匠芯创 » 第一块D133CBS 烧录并运行成功 » 2023-12-07 10:28:37

换一个支持ANSI颜色的终端吧,这个输出的字符串是带颜色的

#156 Re: 全志 SOC » 为了避免DDR频率和CPU时钟频率干扰WIFI,蓝牙,ZIGBEE等无线设备,优选频率 » 2023-12-06 15:42:16

干扰是有,但对信噪比的影响是多少?如果对信噪比的影响不是很大,是不是就可以忽略不计?
就如同PCB Layout的铁律“信号线不能走直角”的前提是信号频率要足够高才有影响。

#158 Re: 工业芯 匠芯创 » USB 控制器中关于5对 endpoint的说明 » 2023-12-05 17:07:32

支持国产芯片,以前用外国的芯片,片内大多只集成USB FS PHY,想用HS PHY还得在片外挂PHY芯片,麻烦。
现在国产芯片,随随便便都是集成USB HS PHY。

#159 Re: 工业芯 匠芯创 » D13x ADC精度 » 2023-12-05 16:59:30

lfs911 说:

如标题,想问下D13x 的12位ADC精度精度如何呢,接下来公司有一款仪表产品考虑用这个方案,需要用到6路ADC输入,对精度要求较高,官方有没有一些测试数据,谢谢

对精度有要求的话还是老老实实用片外ADC芯片吧。

#160 Re: 工业芯 匠芯创 » 萌新来啦,匠芯创正式入驻WhyCan,第一波小福利正在准备中。。。。 » 2023-12-04 13:49:11

静静的嘀嗒 说:

请问开发环境的搭建只支持64位系统吗?

桌面环境哪里还有32位系统?

#161 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 怒开新坑,自制低成本高速USB分析仪(随缘更新) » 2023-11-30 11:02:52

bigniudiy 说:
jordonwu 说:

@bigniudiy
是要重新编译那个wireshark plugin吗?

是的,不重新修改,烧录68013的固件也有问题,会出错,原版的程序会在烧录前验证FPGA ID对不对,不对就退出烧录

CY7C68013这个方案真是长寿啊,差不多得有20年了吧

#162 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的芯片。

#163 Re: 工业芯 匠芯创 » 匠芯创RISC-V产品选型表更新V23-供选型参考 » 2023-11-28 12:34:19

合封定制是否对芯片购买数量上有要求?要求是多少?

#164 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等就不一一列举了,感觉兴趣的同学可以看芯片手册深入了解。

#165 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来扩展内存。

#166 Re: 工业芯 匠芯创 » MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘 » 2023-11-19 11:38:05

tomyqg 说:

nor只读,文件系统还得挂个nor?

这应该是在问,同一块NorFlash是否可以XIP一个分区的同时另一个分区挂文件系统?

#167 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系列。

#168 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算法,字符串比较等。

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

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

#170 Re: 工业芯 匠芯创 » 关于GUI工具的选型建议 » 2023-11-17 10:57:03

AWTK支持贵司芯片的G2D加速么?
体量小于Qt的嵌入式UI感觉没什么选择:LVGL太过轻量没有UI描述语言、UI响应靠一堆callback,slint收费了不敢用,惟有AWTK功能稍强点。

#171 Re: 上海航芯 » 想自己实现下载算法遇到的问题 » 2023-11-17 10:41:26

演技担当黄晓明 说:
海石生风 说:

下载算法为何还用printf?printf的体量对于bootloader来说太大了。

暂时看下东西而已

自己实现一个简单的printf,或在网上找别的printf的源码实现就行了。要官方特意给你开放源码,不太现实。

#172 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、链接脚本。

#173 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且还没抄好。

#174 Re: 上海航芯 » 想自己实现下载算法遇到的问题 » 2023-11-15 14:04:19

下载算法为何还用printf?printf的体量对于bootloader来说太大了。

#175 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。
但说它“残废”,就等于说它没什么用处,就是谣言了。

#176 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-11-14 18:21:41

tomyqg 说:

@海石生风
听说c906的浮点也是个残废啊

哪里道听途说的,RVV + FPU 的浮点性能怕是跟ARM9比得差两个量级

#177 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-11-14 01:00:22

novice 说:
ArtInChip 说:
novice 说:

价格17.5元?这个价格打其他HMI市场还可以,打串口屏市场的话基本上不具有任何优势。

Hi,淘宝上的价格均为样品价格。

价格如果能做到F1C100S那样,踢我一下。

F1C100S是什么东西?不带浮点单元的消费级片子,人家这个是支持双精度浮点的工业级芯片好吗,就不是同一个层次的东西!

#178 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-11-14 00:07:02

本坛没人做工业级产品吗?老是有人拿消费级芯片跟别人工业级的比价格……

#180 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » ssd202,r818平台GUI » 2023-09-15 23:52:34

当今GUI框架的主流是声明式UI了,就要求其编程语言支持反射特性。C++还不支持反射吧,所以其实也不是很适合用来搞新的GUI库了。

#182 Re: 全志 SOC » 想用qtcreator通过ssh调试板子上运行的qt程序,结果总是通不过。 » 2023-08-13 10:36:00

编译器是MSVC吧?换用GCC编译器,Windows版的叫MinGW
PS:现在的新手在提问时老是只给出少得可怜的相关信息,别人看了也懒得追问,于是没人鸟。

#183 Re: 全志 SOC » t113-s3 qt5.12性能问题 » 2023-08-06 21:24:58

凭什么说VNC卡就是真的卡?你用VNC连Windows桌面,流畅性跟本地的是一样的么?

#184 Re: Php/Nodejs/Web/HTML5/Javascript/微信开发/Python » Gmeek 超轻量级个人博客框架 开源 » 2023-08-02 12:13:01

不错。只可惜github在国内访问速度慢,能支持gitee就最好。

#185 Re: 全志 SOC » 求助,触摸事件上报导致内核崩溃 » 2023-07-18 13:23:03

问题的源头应该是 cst3xx_touch_report1 函数

#187 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 学习 » 2023-07-05 12:24:16

嵌入式超过35岁还做敲代码的不在少数,因为入门门槛跟经验加成都比纯IT高,并且行业内卷不算严重。
如果精深自动化相关领域某一方向,如电机驱动、机器人等待遇也不比IT的差,而且加班还少。

#188 Re: 全志 SOC » 请问对于编译Xboot源码的例程生成4MB的.bin文件,在下载到V3S的flash后启动亮屏要好几秒,有提速的方法吗? » 2023-06-25 14:33:56

貌似在全网都没有找到全志MPU上跟NOR Flash的XIP相关的信息。是全志所有的芯片都是空有QSPI接口却不支持XIP?

#189 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))

#190 Re: 全志 SOC » 请问对于编译Xboot源码的例程生成4MB的.bin文件,在下载到V3S的flash后启动亮屏要好几秒,有提速的方法吗? » 2023-06-20 13:11:30

jiangchun9981 说:

加载的瓶颈是spi nor flash的SPI读取速度 

印象中基本不能再快了

NOR Flash不是有XIP特性么,可以直接在Flash内运行程序。还是说V3S或全志的芯片不支持XIP?

#191 Re: BLDC电机驱动 » 用D类音频功放驱动步进电机 » 2023-06-20 11:09:58

fxyc87 说:

不应该啊,正常应该可以驱动的吧?拿示波器看看波形

可能开环驱动的特性就是这样的吧,转速不高,我换一个小点的电机转速就起来了。我之前都是搞力矩闭环驱动,看来闭环驱动特性确实要比开环的好不少。

#193 Re: 好钜润半导体(TIKY) » TKM32F499开坑 » 2023-06-19 14:41:58

近年国产芯片发展得快,集成度较高的HMI方案出了好多了。ESP32-S3、华芯微特的SWM34S应该要比这个好用了。

#194 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 有没有开源的网络摄像头项目? » 2023-06-19 14:03:55

用笔记本电脑上的那种USB摄像头模组,手指大小。加USB HUB可以就要接多摄像头。

#195 Re: 全志 SOC » 请问对于编译Xboot源码的例程生成4MB的.bin文件,在下载到V3S的flash后启动亮屏要好几秒,有提速的方法吗? » 2023-06-17 00:26:33

本人没用过xboot,初看源码,看似没有类似kconfig的配置方式,而需要修改src/Makefile里的SRCDIRS变量,注释不需要用到的源码的dir来实现裁剪。

#196 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))

#197 Re: BLDC电机驱动 » 用D类音频功放驱动步进电机 » 2023-06-16 12:10:39

另外,将功放板接好电机、音频输入和电源然后播放音乐,此时将电机贴到耳边会有惊喜哦。

#198 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))

#199 Re: 米客方德 » 米客方德128M 工业级 SDNAND可靠性测试 (测试脚本在12楼) » 2023-06-07 09:12:43

CONFIG.SYS 说:

不知道成本如何
128M SPI NAND 比如W25N01 5块含税
性能似乎比lz这个sd卡还高一些

这个Flash要在外部加东西才能做到SD NAND那样的可靠性

#200 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方案了。

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn