不大,单纯驱动摄像头不用啥电,主要看摄像头本身的功耗,还有就是图像进来之后要不要做复杂的图像处理。
xiaowenge 发布的帖子
-
回复: target目录和device的区别
@kelsey 在 target目录和device的区别 中说:
各位,请问tina4.0 SDK环境下面的
target
目录和device
目录有何区别吗?
我看好像都是对方案的描述确实都是对方案的描述,有区别,各有作用(当然也有历史原因导致有两个方案目录
-
回复: V3S 硬解h264,基于tina还是主线linux开发?
@laocai 在 V3S 硬解h264,基于tina还是主线linux开发? 中说:
@yuzukitsuru V3S的tina linux sdk,需要单独向全志申请,还是已经公开?
需要签署NDA申请获取
-
回复: 有哪位大佬能给我解答一下全志的一号通是什么吗?
哦 我知道了,FAE给的网址不对,那个是内部登录的网址,正确应该是:https://open.allwinnertech.com
-
回复: 有哪位大佬能给我解答一下全志的一号通是什么吗?
你的这个链接就是“全志一号通”,现在全称是“全志客户服务平台”,注册登录就好了。
不过你能对接到全志技术支持团队,应该是有企业账号的,用公司的企业账号登录试试,可以下到签了NDA才有的专门权限的文档 -
回复: 【萌新】D1H如何使用硬件定时器?
@allwinner_account 在 【萌新】D1H如何使用硬件定时器? 中说:
才发现之前翻了半天论坛和手册才搞明白的SDK基础操作V853的这个网页讲的很清楚,D1H的网页里都没写
比如哪些?我复制过去
-
回复: V853 官方开发板配套模组的ISP 参数可以提供一份供参考?
@icpachong 在 V853 官方开发板配套模组的ISP 参数可以提供一份供参考? 中说:
V853 官方开发板配套模组的ISP 参数可以提供一份供参考?
另外配套的tigerISP 调试工具和文档能不能也提供了?
目前需要评估贵司这款SOC的ISP 性能和实际效果tigerISP可能要签NDA才能拿到
-
回复: D1-h 如何从SD启动
@kelsey 在 D1-h 如何从SD启动 中说:
@yuzukitsuru 默认是sd卡启动的?意思是说现在哪吒的板子如果不插sd卡的话就是启动的spi nand,然后如果插入含有制作好的sd卡的话,就是默认从sd卡启动?两者是否使用的同一份固件呢?
Q1:是的
Q2:可以使用同一份固件,看放在哪种存储介质里而已 -
回复: Tina如何添加自定义板卡?
参考这篇博文:
在Tina sdk中新建全志D1s方案的方法
https://blog.csdn.net/weixin_43094346/article/details/123083916 -
回复: 跳线时候把MIPI附近几个电阻焊掉了,想问问大家那几个都是啥元件和什么参数
@ningle 在 跳线时候把MIPI附近几个电阻焊掉了,想问问大家那几个都是啥元件和什么参数 中说:
@yuzukitsuru 找了下,并没有找到,都点开看过了,不知道是不是没有
-
回复: 跳线时候把MIPI附近几个电阻焊掉了,想问问大家那几个都是啥元件和什么参数
这里有正面高清图,大概长这样,你看看你焊掉了啥
【素材汇总】V853素材汇总
https://bbs.aw-ol.com/topic/1449/share/5 -
回复: 【资料汇总】V853资料汇总
@soso90 在 【资料汇总】V853资料汇总 中说:
@xiaowenge 目前最新的出厂固件是哪个,或是功能最全的镜像是哪个?文档区下载那个?好像很多功能都没编译进去。比如tplayerdemo。功能还没有出厂的系统功能多。
出厂自带的是这个:https://www.aw-ol.com/downloads/resources/68
比较早期就给到工厂了,很多功能可能没有,后面的固件在这个帖子的楼上不断更新了。
需要tplaydemo可以下这个: -
回复: 【V853开发板试用】V853开发板填坑记
@soso90 在 【V853开发板试用】V853开发板填坑记 中说:
填坑之简单粗暴构建lvgl编译环境
以跑了一个lvgl 时钟demo为例,源程序来自韦东山大佬~~~
附件是代码,直接解压替换lv_examples 目录。mno lv_examples即可
这里也给一个简单粗暴写点lvgl建议:
直接在 platform/thirdparty/gui/lvgl-8/lv_examples/src/目录添加自己代码,然后修改main.c, 编译目录在out/v853/vision/openwrt/build_dir/target/lv_examples/src/
目录。
具体可以diff一下新旧目录。
lv_examples.tgz
最后是效果~~撒花完结~
B站视频链接
ps:如果要标准开发套路,请查看其它大神帖子:
https://bbs.aw-ol.com/topic/1879/v853开发板移植基于-lvgl-的-2048-小游戏@soso90 大佬,附件和图片好像都没有传成果,方便的话重新传一下呗
-
回复: 【转载】关于d1哪吒开发板的启动流程分析
@daizebin 在 【转载】关于d1哪吒开发板的启动流程分析 中说:
@xiaowenge 了解了,所以其BROM默认启动地址应该没有没有变化吧?
地址应该是没有变动的,只不过悄咪咪藏起来不让你们看了
-
回复: aw什么时候引入社区版本的yocto
yocto之前搞过,虽然上手了很好用,但是上手太难了,怕太多开发者死在成功前的晚上,就先不放出来了,还是先把openwrt和buildroot的坑填完吧(填不完
-
全志芯片如何提高GPIO触发中断精度?
问题背景
在使用 GPIO 中断处理外部信号,配置了上升沿和下降沿触发,发现gpio拉低拉高相差50us的时候,处理不过来,测试的情况看能处理的最小的精度在100us。此时需要提高触发中断的精度。
那么,在全志的芯片平台上,怎么样操作可以提高GPIO的触发中断精度呢?
- 存在问题
配置上升沿、下降沿触发,外部信号周期小于100us的,无法有效进入上升沿中断或下降沿中断。当外部信号周期提高,信号的上升沿和下降沿都能有效触发中断。
- 问题分析
关于这个中断无法及时响应的问题,主要是由于中断采样导致的。GPIO中断的信号检测有效时间为3个采样周期,默认GPIO采样频率为32K(1/32K * 3 = 94us),所以没有办法响应低于95us的一个中断信号。如果需要缩短采样时间间隔,可以将gpio的中断时钟从32k提高到24M。
- 根本原因
出现高频率中断(达到或超过10K频次)没有识别,可以确认GPIO的中断时钟是否配置为32k,可以将其配置为24M后再进行相应的中断测试。
- 解决办法
上面已经介绍到,通过将GPIO的中断时钟从32K切换到24M可提高中断采样的精度。
各平台补丁如下:diff --git a/arch/<arm/arm64>/boot/dts/sunxi/<sunXXiwYYp1>-pinctrl.dtsi b/arch/<arm/arm64>/boot/dts/sunxi/<sunXXiwYYp1>-pinctrl.dtsi index 0d0ab13552a8..b61dc4131092 100644 --- a/arch/<arm/arm64>/boot/dts/sunxi/<sunXXiwYYp1>-pinctrl.dtsi +++ b/arch/<arm/arm64>/boot/dts/sunxi/<sunXXiwYYp1>-pinctrl.dtsi @@ -16,7 +16,7 @@ #interrupt-cells = <3>; #size-cells = <0>; #gpio-cells = <6>; - input-debounce = <0>; + input-debounce = <100>; s_rsb0_pins_a: s_rsb0@0 { allwinner,pins = "PL0", "PL1";
通过在 dts 修改 input-debounce 参数影响 GPIO 中断采样时钟,它的含义如下:
/* * if debounce > 1, freq = (1000000 + (debounce/2)) / debounce * else freq = (1000000 - (debounce/2)) / debounce */ debounce_freq = DIV_ROUND_CLOSEST(USEC_PER_SEC, debounce);
上述 debounce 的值就是 input-debounce 的值,所以可以通过 dts 的 input-debounce 修改GPIO中断采样时钟频率。
中断采样时钟频率最高是24M,默认是 32k。当设置的采样时钟高于 24M 时,将会用最高24M时钟,内核启动log将会可以看到not support set rate %ld, use max rate24000000;
当设置的采样时钟处于32k与24M之间,内核启动log将会可以看到use hosc , set rate XXX;
当设置的采样时钟低于32k,内核启动log将会看到use default, set min rate 32000;
另外需要注意的是,上面的分频设置,不能无限的分频,寄存器中对24M的分频为2^N,N的取值只能3bit,也就是0-7,所有,最大的分频系数是128。
-
回复: 全志V583交叉编译中编译工具和交叉工具链如何设置?
这个文档上面有一个《编译环境配置》章节,参考那个:https://v853.docs.aw-ol.com/study/study_2ubuntu/#ubuntu
-
回复: r329有没有可能做安卓手表(不考虑基带)
应该可能性不大。
首先R329没有GPU,CPU算力也一般,跑Android费劲。
而且手表这玩意对芯片定制化要求高。几百毫安的电池要支撑好几天的使用和低功耗待机,功耗要求也高,还是得专门为Android wear做的芯片 -
回复: Can you help me? Where are these patch? Thank you
These patch is base D1_Tina_Open V1.0.
Now, official have been update to D1_Tina_Open V2.0.
V2.0 include these patch. Don`t need patch additional. -
回复: 请教Tina 5.0支持 T113吗?支持luci组件吗?
@zhangwei 在 请教Tina 5.0支持 T113吗?支持luci组件吗? 中说:
@yteraa 请问这个T113是公版的Tina5.0就支持,还是需要单独签署协议才可以的。
内部看到已经支持了(基础系统),但是不知道产品线是否已经对外释放,详情可以向对接的业务/代理商/方案商了解。
-
回复: XR829无线模块购买途径?
@zhongtao1701 在 XR829无线模块购买途径? 中说:
谢谢你的回答,我再请问一下,如果模块没有经过校准流程,模块的MAC地址是否都是重复的,只能小范围demo试用,无法用到实际产品中?是否有模块厂商量产的XR829模块?
mac地址好像是可以动态写 & 随机写。写mac地址这一步一般在产品生产的时候做,烧完固件之后,在烧固件的下一个工位写,全志有提供一个写号工具,可以写SN码、mac、加密码等,工具叫dragonSN
-
回复: XR829无线模块购买途径?
韦老师是做给大家学习和做小demo用的,确如韦老师所言,没有验证较准过。
但是现在芯片和PCB的一致性都很好了,不是很苛刻要求的可以不校准,好点的厂子做的基本可以满足消费级使用要求。有很高性能或者复杂环境要求的,就要自己找个厂子做下,把一整套测试流程搭建好测试、较准了。
较准的设备好像挺贵的,十几万还是多少的,一般公司不会专门买,深圳有提供较准设备租赁的公司,可以租,但是租一天也不便宜,批量才会集中租几天测一下。测试线搭建也有一定工作量。
——这也是大家会买模组贴的一个原因之一,校准好的,用得方便。不然就直接贴板子上了。直接贴板子上我们一般叫on board,较准难度会更大一些,但是成本也更低一些,一般只有稳定大量量产的产品会on board
比如这个就是直接贴XR829的:
-
回复: 2022年7月版——在“哪吒”上跑AI 全志D1 ncnn框架移植笔记
@yanmingjian 在 2022年7月版——在“哪吒”上跑AI 全志D1 ncnn框架移植笔记 中说:
交叉工具链
跟之前版本的不同点:交叉边缘工具链升级?(v2.2.6)
能测到性能上有提升吗? -
全新Tina Linux v5.0释放!带来全新AIoT产品开发体验
Tina Linux 是全志基于linux内核深度定制开发的AIoT系统。
“Tina”取“Tiny”之意,旨在打造一个精简的、适用于嵌入式设备的智能系统。Tina 发展沿革
Tina Linux诞生于2015年,彼时以智能音箱为首的AIoT产品刚刚兴起,AIoT产品所用芯片一般为原用于平板电脑的主控,所用系统也多为基于Android系统进行裁剪。全志基于市场需要和对产品趋势的理解,在Linux内核的基础上深度开发了Tina Linux系统。
2016年,第一款搭载Tina Linux的智能音箱产品面世。通过优化,原来需要1GB DDR+8GB emmc才能支撑的系统,使用Tina Linux系统只需要64MB DDR+ 128M nand flash即可平替,PCB成本也从之前的数百元人民币降到几十元人民币,开机时间由原来的十几秒降到3秒以内。
随后,Tina系统快速发展,应用场景覆盖了在智能家居、智慧视觉、车载等领域的超过50个不同产品形态的产品,被数百家不同行业的客户使用,总装机量超3000万。
通过可定制化配置的特性,Tina Linux系统可以满足各种不同产品形态的需求:针对倒车摄像头产品,通过疾风系统可以实现350ms出图;针对带屏幕显示的产品,集成了市面上主流的嵌入式显示框架,可以快速适配开发;在需要高性价比的产品中,通过软件模拟硬件功能从而降低PCB成本……
Tina 5.0 系统特性
2022年,全志Tina Linux 5.0版本全新发布。Tina Linux 5.0延续了之前Tina系统的设计理念,在历代版本的积累上进行了重构,实现Linux BSP/SDK软件平台的标准化、开放性、可复用、统一化。
标准Linux内核
Tina5.0基于标准Linux内核和驱动框架开发,follow主线标准,方便工程师快速上手开发,新增模块移植调试也更为敏捷,有大量社区社区资源可以复用,减少了重复造轮子的成本。
针对AIoT产品深度定制
全志凭借R/V/T/F/H等多条不同领域产品线的经验,吸收AIoT市场快速变化的产品需求,不断整合更新各种适用于AIoT产品的定制模块,包括WiFi/BT协议栈、无线/声波配网、TrustZone Secure OS、OTA等。并且借助原厂优势,直插芯片底层,通过驱动直接调用硬件编解码模块、安全加密模块等实现了软硬件协同的高性能实现。
双编译构建系统
Tina5.0下支持openWrt以及buildroot两套编译构建系统,在这之上加入了我们的build环境,对接编译系统,可以方便进行选择构建。可以满足不同开发习惯的工程师对构建系统的硬性需求。同时,OpenWrt版本也升级到21.02,大量的软件包随之更新,丰富了网络、音频软件等包。
BSP高度复用
Tina5.0中,不同构建系统共用所有的BSP资源(boot,kernel代码,编译打包工具等);可以支持BSP的单独编译,也可以实现独立打包方式,对于一些只使用我司BSP的客户,可以轻易加入自己的rootfs生成固件。
易剪裁易定制
SDK支持的产品线越多、功能越丰富,随之带来的问题是SDK的臃肿庞大,为了解决这类问题,我们通过关键软件包、芯片配置方案、工具链等的目录仓库化以及dl压缩包特殊处理等方法,在满足了灵活定制的需求的同时有效地控制了SDK大小。
大佬们说
| 蔡泳恒 全志科技产品研发中心 软件技术经理
全志一直走在嵌入式AIoT开发的前沿,不断地了解市面上客户和用户的需要,不停地丰富和完善Tina系统。目前Tina系统的内部主线已经适配了包含20多款全志芯片在内的近200个平台方案,让我们的客户选择更多、开发更便捷。
| 曾工 国内知名硬件公司 高级工程师
我们团队是做路由器出身的,对于openWrt比较熟悉。Tina基于openWrt进行构建,并且集成了大量全志自研的封装库、中间件、开发和生产测试工具等,用起来非常顺手,极大地降低了我们的开发量,可以说是AIoT开发的“生产力工具”
| 晕哥 国内知名电子论坛-哇酷开发者社区 创始人
我们社区大量的开发者都在使用Tina系统,自己做点小demo玩特别顺手。Tina5.0带来的变化不仅仅体现在产品上,通过对编译流程及SDK的优化,也使得开发者在Tina环境下的开发更加简单,并且拥有更多的资料可以参考学习。
Tina源码获取
目前Tina5.0在全志客户服务平台释放了适配V853芯片的开发者试用版,您可以到全志客户服务平台获取相关源码。相关源码具体下载位置:全志客户服务平台->工作台->资源下载。
源码获取链接:
https://open.allwinnertech.com/#/sdk/309更多资料详见全志在线开发者社区:https://v853.docs.aw-ol.com/study/study_1tina/
编辑:Budbool
技术顾问:Forever、Kirin -
回复: 【V853开发板试用】我做个RTSP推流demo吧
快把IR cut拔掉,不然会发热:
详见:
V853 开发板 IR CUT 发热说明
https://bbs.aw-ol.com/topic/1642/share/1 -
【V853开发板试用】AI生成山水画,每一幅都是世间独一无二
http://shan-shui-inf.lingdong.works/
https://fishdraw.glitch.me/ 去摸鱼吧,摸不被定义的鱼只要输入任意字符串,这个AI便会生成一幅全新的画作,每一幅都是世间独一无二的,就像是开山水画盲盒。
并且这些作品并不是简单的元素堆积——项目中没有用到任何一张图片素材,所有的景物都是代码生成的。
我们可以看到画中的山石错落有致。
树木各具神态——或苍劲有力,或郁郁葱葱,或新芽初发,或垂垂老矣。
远山和近景,都做了不同层次的处理。
对饮的文人、垂钓的老者各具神态,山上的宝塔、田间的茅草屋各有特点。偶尔还藏了一个电线杆和Pizza Hut的彩蛋,让你迷失在画里,不知身处何处。
而完成这些的核心代码都是H5纯手写的,没有用到第三方库,整个文件大小不过100多K。这样一个“简简单单”的程序,再加上一块V853开发板,就也能轻松渲染出一幅独一无二山水画,若是再心灵手巧一点,把它做成一个电子相框裱起来挂在工位上,陶冶情操,岂不美哉。
可以看出,作者不仅对AI算法有很深的理解,在国画上也有很高的造诣,才能实现科技与人文的深度结合。
那么,这些神奇是如何实现的呢?知乎AI大佬 【胡虎护弧呼】给我们介绍了一些简单的原理。
宛若手绘的山
山水画里的树叶与小树是用多边形表示的。从简单的开始,一个三角形代表山的形状,直线作为阴影。现在从视觉上看来,这些代表阴影的直线还是太过生硬,完全不像可以生成“山水画”的感觉,我们来把分立的直线变成下图这样连续的曲线。
有时候简单的方法的也有惊人的效果。我们可以用一根斜率稍微不相同的线的向下切,并在垂直边和水平边选择几个采样点。然后在这些有序的点之间连接曲线,比如贝塞尔曲线或Catmull-Rom曲线。
生成曲线时,如果是标准的曲线,那么肯定太规则了不好看。那么再加控制点,再加噪音弄得更随机一点。
这些阴影的边界是三角形,还是太规则,于是把这些边界也多弄些控制点多弄些噪音。
再把阴影线条的粗细变成随机形式,以及表示山的形状的直线变成多段折线,最终效果如下。记得阴影和有光照的地方需要描边。现在山的受到光照的地方太秃了,那么再来加上一些变换。第一种如下图,下图左加了一道小山沟,下图中为小山沟加上一些阴影,最后效果如下图右。
似乎还是有些不自然...山的边缘真的只是首尾相连的折线嘛?我们可以把这些折线稍微延长一些,然后再加上第二座山。
目前只是绘出了单座山,如何确定连片的山脉的位置呢?一种容易想到的方法是让山都生成在一根直线附近。
另一种方法是生成首尾相连的折线段,用这些折线段作为山的轮廓。
也可以先用多边形限制山的生成范围,然后在多边形内放置线段,用于生成山脉。
有了山,也就相当于给山脉打下了坚实的地基,接下来要做的就是给山水画添上其他的元素:树木、亭子、古人.......
树木的随机生成——数值奇异值分解
从源码角度切入树木的随机生成,繁多的树木其实也是由类似的噪点和数学函数的运算进行了大小、形态以及位置的确定。
tree02生成的部分源码:
以 ‘tree02’ 为例子,树木的随机生成方式与山体随机生成的方式在原理上是大致相同的,两者应该都是使用了大量的噪点和数学函数从头开始建模,并随机分配坐标位置的。
那随机生成的树木又是如何做到棵棵都不一样的呢,这里就有可能使用到了渲染编程中的数值奇异值分解原理了(不代表作者源码是基于该原理随机生成)。
奇异值分解表达如下:
其中A 是原矩阵。V 和 U都是旋转矩阵,Sigma 是对角矩阵,代表伸缩矩阵。网上资料很多,这里不解释。
这里仅仅讨论它的物理意义。比如对于某个向量矩阵变换A,如果它是纯伸缩矩阵,那么左右奇异矩阵都是单位矩阵
经过矩阵变换后,为了数据降维,找出变换最明显的向量,需要选择正x 轴和正y 轴,如下图。蓝色轴和黄色轴即为在本次矩阵变化中,变化最为明显的向量。
注意向量并不局限于边,三角形内的任意一段向量都可以,端点不固定,方向不固定。只是说蓝色向量,黄色向量在此次矩阵变换中,变长或变短的程度最大。它们变长或变短的倍数,就是奇异值。
如果这是个剪切矩阵,那么可能如下:
那么我们需要旋转一下黄色或蓝色向量,来保证黄色向量和蓝色向量仍然是所有向量中长度变化最明显的。比如黄色向量变长为原来的1.3倍。但是与之前的纯伸缩矩阵相比,也就是与上图相比,它还旋转了135度,这是矩阵U 的功劳。而蓝色向量缩短为原来的0.7倍,同样旋转了135度,这是矩阵V的功劳。
噪点可能在经过如上原理的函数运算后,最终生成了各式各样的树木、山峦、建筑等等等,该种函数运算的随机生成方式同时也体现于其他类型树木生成的源码之中。
tree07生成的部分源码:
作者Huang Lingdong
作者Huang Lingdong,本科毕业于卡耐基梅隆大学,现于母校的Studio for Creative Inquiry做研究助理,为博物馆和学校等组织开发交互媒体项目。
作者本人对中华文化也是颇有研究,除了山水画之外,之前也曾开发过一款文言文编程语言,在该语言中他用《易经》的阴和阳代表布尔变量中的0和1,感兴趣的同学也可以去探索一下此语言蕴含的中华文字之美。
-传送门-
V853开发板山水画demo:https://bbs.aw-ol.com/topic/1715/
山水画线上IDE试玩:http://shan-shui-inf.lingdong.works/
作者Github主页:https://github.com/LingDong-
作者个人项目主页:https://lingdong.works/