匠芯创说在调试AIC8800驱动,WIFI6的。
本来说上月会发的,但出了些问题。。
我一直在追问。。
网络部分为什么官方不对接到rtt网络框架中呢 还要third-part当中单独弄一个lwip出来?
哈哈,这也是我吐槽的。这里还有个坑。
比如 如果勾了IOT 里的paho mqtt,他依赖了BSD SOCKET
就会勾上SAL 哪一套。
只要勾上SAL哪一套,就会出现一个奇葩的问题。
你会发现能编译过去,连上网后ping能用,但http_ota/web client test这些都跑不起来了。
SAL的依赖,用键盘按向右键,可翻2分钟,好不容易找到是因为Paho mqtt引起的。
现在我用kawaii-mqtt 哈哈,卡哇依。。。。。
另外补一句,third-part中lwip也带了一个hello word极的mqtt客户端,证明他是通的。。。
但我相似用RTT的朋友,很多也是看中了这个生态,很多库可以用,但现在SDK这一块处理得不好,
咱俩同步呀,我也是昨天晚上调试发现的。
要去掉 RT-Thread Components一的
[] Enable ifconfig features
[] Enable ping features 这个不去,Third-party下去掉,也能编译过去,但ping报内存错误
从淘宝上买了另一种模块是可以的,
不知道为什么,不是某个模块坏了,因为不行的哪种试的3块都不行。
esp32C6用于AT通信,原理图如下(在烧录架上是正常的)
启动后一直在
ESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0x7 (TG0_WDT_HPSYS),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x4001aa16
SPIWP:0xee
mode:DIO, clock div:1
load:0x4086c410,len:0xd2c
ets_loader.c 68
这们循环,设备并没有重启,AT功能也没启动,在烧录架上所有功能都正常。
日志如下。
ESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0x1 (POWERON)üÑé0xc (SPI_FASüESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x4086c410,len:0xd2c
load:0x4086e610,len:0x2df0
load:0x40875728,len:0x17d8
SHA-256 comparison failed:
Calculated: d65693cff09e7b367f989d125acd3b3f96d703194a64c8151b768efc9e4b6ad4
Expected: c7090fbe9465c3e32c3100bdb5f14c08f0027429a13db017338daf29c9202110
Attempting to boot anyway...
entry 0x4086c410
[0;32mI (42) boot: ESP-IDF v5.1ESP-ROM:esp32c6-20220919
BESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x4086c410,len:0xd2c
load:0x4086e610,len:0x2df0
load:0x40875728,len:0x17d8
SHA-256 comparison failed:
Calculated: d65693cff09e7b367f989d125acd3b3f96d703194a64c8151b768efc9e4b6ad4
Expected: c7090fbe9465c3e32c3100bdb5f14c08f0027429a13db017338daf29c9202110
Attempting to boot anyway...
entry 0x4086c410
[0;32mI (42) boot: ESP-IDF v5.1.2-dirty 2nd stage bootloader[0m
[0;32mI (42) boot: compile time Jan 2 2024 05:53:08[0m
[0;32mI (43) boot: chip revision: v0.1[0m
[0;32mI (45) boot.esp32c6: SPI Speed : 80MHz[0m
[0;32mI (50) boot.esp32c6: SPI Mode : DIO[0m
[0;32mI (55) boot.esp32c6: SPI Flash Size : 4MB[0m
[0;32mI (60) boot: Enabling RNG early entropy source...[0m
[0;32mI (65) boot: Partition Table:[0m
[0;32mI (69) boot: ## Label Usage Type ST Offset Length[0m
[0;32mI (76) boot: 0 otadata OTA data 01 00 0000d000 00002000[0m
[0;32mI (83) boot: 1 phy_init RF data 01 01 0000f000 00001000[0m
[0;32mI (91) boot: 2 nvs WiFi data 01 02 00010000 0000e000[0m
[0;32mI (98) boot: 3 at_customize unknown 40 00 0001e000 00042000[0m
[0;32mI (106) boot: 4 ota_0 OTA app 00 10 00060000 001d0000[0m
[0;32mI (113) boot: 5 ota_1 OTA app 00 11 00230000 001d0000[0m
[0;32mI (121) boot: End of partition table[0m
[0;32mI (125) esp_image: segment 0: paddr=00060020 vaddr=42150020 size=30740h (198464) map[0m
[0;32mI (175) esp_image: segment 1: paddr=00090768 vaddr=40800000 size=0f8b0h ( 63664) load[0m
[0;32mI (190) esp_image: segment 2: paddr=000a0020 vaddr=42000020 size=146000h (1335296) map[0m
[0;32mI (466) esp_image: segment 3: paddr=001e6028 vaddr=4080f8b0 size=0a17ch ( 41340) load[0m
[0;32mI (476) esp_image: segment 4: paddr=001f01ac vaddr=40819a30 size=03bf8h ( 15352) load[0m
[0;32mI (481) esp_image: segment 5: paddr=001f3dac vaddr=50000000 size=00068h ( 104) load[0m
[0;32mI (488) boot: Loaded app from partition at offset 0x60000[0m
[0;32mI (488) boot: Disabling RNG early entropy source...[0m
no external 32k oscillator, disable it now.
at param mode: 1
ESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0x8 (TG1_WDT_HPSYS),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x40800082
SPIWP:0xee
mode:DIO, clock div:1
load:0x4086c410,len:0xd2c
ets_loader.c 68
ESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0x7 (TG0_WDT_HPSYS),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x4001aa16
SPIWP:0xee
mode:DIO, clock div:1
load:0x4086c410,len:0xd2c
ets_loader.c 68
........
ets_loader.c 68
串口3M我开不起来啊,1M都开不起来
要用CH340、343这类才支持3M波特率。
如果用FLASH的话,差不多的大小升级要20多秒。但也比哪个烧录工具快很多。
SSD201,量很大的话,应该可以到1x,这个带2个USB HOST。但肯定是左右得很大。
F1C的USB,据说结点不够,加Hub未必行。
10元左右这个需求可能难找到了。
FLASH的写入次数有限制,而且像NorFlash写入速度极慢。
D133有网络,数据通过网络保存到服务器上是比较好的方案。
如果对数据的完整性要求高,设备端要加上铁电存储,未上传到服务器上的数据先保存到铁电里。
直接写FLASH可以考虑加个掉电保护,比如外部是12V供电,到单片机端变压成5V,单片机供电端加个较大的电容。
用一个比较电路,外部断电时电压低于内部,触发中断,依靠电容中的电将未保存的数据存到FLASH。
一般要另接一个负责运动控制的吧。看你是几轴?是否要做圆弧插补?螺旋运动?
很多年没研究过这个了,可能有新的方案。
以前了解过的是用运动控制芯片,如PCL6045,
哈哈哈,你这要么是来水贴的,要么是来找晕哥算卦的,否则没法解释呀。。。
通过看相觉得是 NanoPi NEO
官方的固件串口可以用,但自己编译的固件串口打不开,报没有权限。
另外40PIN的接口有4个串口,其中Uart2是调试串口,还有UART3可以作为串口用。
1、打开串口
kernel\arch\arm64\boot\dts\rockchip\rk3566-orangepi-cm4.dts
添加
&uart3{
pinctrl-names ="default";
pinctrl-0 = <&uart3m0_xfer>;
status ="okay";
}
2、修改
device\rockchip\common\init.connectivity.rc
增加
chmod 0777 /dev/ttyS3
chmod 0777 /dev/ttyS7
chmod 0777 /dev/ttyS9
然后这3个串口就可以通信了
下载代码后,官方的说明文档还没有ANDROID的编译说明,其实很简单
Win11 +WSL UBUNTU20.04 开始用Ubuntu18.04总是不成功。
1、
sudo apt-get install -y git gnupg flex bison gperf build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip python-pyelftools python3-pyelftools \
device-tree-compiler libesd-java libssl-dev pngcrush lib32readline-dev liblz4-tool \
lzop schedtool squashfs-tools libsdl1.2-dev libncurses5 libncurses5-dev
2、我的电脑报找不到Python
sudo ln -s /usr/bin/python3.8 /usr/bin/python
3、到代码目录下
export BOARD=orangepi3b
source build/envsetup.sh
lunch rk3566_r-userdebug
开始用-J20,编译很快,但后面报错。
./build.sh -AUKu -J20
最后只能通过
----------------------------------------------------------------------------------
因为我的应用是套WEBVIEW的83有一点点老,所以更新一下WebView
WSL下可以通过(注意后面是.) explorer.exe .
打开文件管理器
下载
com.google.android.webview_103.0.5060.129-506012903_minAPI23(arm64-v8a,armeabi-v7a)(nodpi)_apkmirror.com.apk
将覆盖
RK356X_Android11\external\chromium-webview\prebuilt\arm64\webview.apk
修改
RK356X_Android11\frameworks\base\core\res\res\xml\config_webview_packages.xml
<webviewproviders>
<!-- The default WebView implementation -->
<webviewprovider description="Android WebView103" packageName="com.google.android.webview" availableByDefault="true">
</webviewprovider>
</webviewproviders>
./build.sh -AUKu 重新打包,烧写后浏览器就更新了
下载SDK,里面有引脚这些的。
反正我就是通过SDK中的说明调用的。
提示一下上面,留下电话、公司名,对方会打个电话跟你确认一下,一般就OK了,可以下载了。
他公开的可以放心用,没公开的别想玩出什么花来。
有没有可能要到他们官网注册一下,留个电话确认一下就能下载了?
比如这里
https://www.comake.online/index.php?p=down_list&lanmu=4&c_id=6&id=42
灵魂画手,什么时候出实物呢?
楼主 我买的是sigmastar的ssd 202 双网口开发板,调屏遇到一点问题,能给个联系方式吗
你想问MIPI屏的问题吧,在群里看了你提问,没敢说话,因为我没用过 ::D。。
@apollo800
最小包装1216片每包
前面说的价格是前年问的,现在不知什么价格。
前面的话212会低于17这个价格,这两年多少不知道。
armstrong 说:@Gentlepig
不考虑下SSD201/202吗?
SSD201官方售价28元/片,双核A7,64MB DDR2,邮票孔核心板51元/片。F1C200s才十几块钱
其实批量的话
SSD 201 也是1x
202 2x
212比201还便宜。
SSD212带OTG,但只有一个USB
202没有OTG,所以不能通过USB+ADB的方式开发调试应用。
系统中默认有个telnet,
所以选择telnet+NFS的方式是不错的选择,
比如,在demo.sh启动时
ifconfig eth0 192.168.66.117
mount -t nfs -o nolock 192.168.66.116:/e/share/nfs/file /customer/nfs
PC端启动nfs服务,并且将目录e:/share/nfs/file映射出来。
比如开发了一个lvapp的应用,将他放到这个目录中
设备上就可以
cd /customer/nfs
chmod 777 /customer/nfs/lvapp
/customer/nfs/lvapp就可以运行了。
其实也蛮方便的。
免费开源的nfs服务,但在我的电脑上一段时间后就会读不到了。而且这个nfs似乎不能chmod 777里面的文件,
不太懂这个,希望有朋友提供更好的工具
winnfsd.zip
破解版的hanewin_nfsserver,这个挂载的文件可以chmod 777
nfs.exe
修改保留分区大小
与全专一样,有保留内存,如调用显示驱动时会选择这一部份内存。如果我们的应用对视频处理这些不多,可以适当减少一些这部份内存
project\configs\defconfigs\dispcam_p3_nor.glibc-9.1.0-ramfs.s01a.64.qfn128.demo_defconfig
CONFIG_KERNEL_BOOT_ENV="LX_MEM=0x3FE0000 mma_heap=mma_heap_name0,miu=0,sz=0xA00000 cma=2M highres=off"
sz=0xA00000就是保留内存大小
202的启动画面处理
如果用官方的屏没什么问题,我的屏与官方的不同,所以需要做一些改变
与212的显示配置相同,同样是CC0702I50R_1024X600_TTL.ini
project\board\ini下
LCM下添加CC0702I50R_1024X600_TTL.ini
project\board\i2m\SSC011A-S01A\config
fbdev.ini
记得修改
FB_TIMMING_WIDTH = 1024
FB_TIMMING_HEIGHT = 600
model中
用sstar-init\files\CC0702I50R\config中对应的文件替换
project\configs\nvr\i2m\8.2.1\spinand.ram-glibc-squashfs.011a.128
类似对应的配置
DISP_OUT_NAME = CC0702I50R
project\image\makefiletools\src\rawgenerator
用新的rawgenerator代码替换
主要是在pnl中加了新屏的头,并添加了引用。
可以直接用
修改屏参数到CC070\rawgenerator\src下 logogen/dispcfggen
放到project\image\makefiletools\bin下替换
怕麻烦就直接用我编译好的可执行文件替换
rawgenerator.zip
如果你的屏不同,请下载代码rawgenerator_src.zip
快速启动配置,快速启动可以跳过uboot,加载快启动速度
正常只需要
选择ramfs方式的配置都可以启用fastboot
make dispcam_p3_nor.glibc-9.1.0-ramfs.s01a.64.qfn128.demo_defconfig
只是我们经常需要在启动时添加一些自己的指令,比如视频中将LVGL加到启动(/etc/init.sh)中
project\image\configs\p3\rootfs_fastboo_disp.mk
//--------------------启动时向init.sh中添加命令,提交启动应用 与202不同,202只能修改${OUTPUTDIR}/rootfs/etc/profile;
$(Q) echo export LD_LIBRARY_PATH=\$$LD_LIBRARY_PATH:/config/lib:/customer/lib >> $(INIT_FILE)
$(Q) echo "/customer/bin/start &" >> $(INIT_FILE)
$(Q) echo "telnetd&" >> $(INIT_FILE)
系统启动后将运行demo.sh,比如我们想挂载NFS方便调试、
挂载从192.168.66.116的NFS到/customer/nfs
$(Q) echo "ifconfig eth0 192.168.66.117" >> $(OUTPUTDIR)/customer/demo.sh
$(Q) echo "if [ -e /customer/nfs ]; then" >> $(OUTPUTDIR)/customer/demo.sh
$(Q) echo "mount -t nfs -o nolock 192.168.66.116:/e/share/nfs/file /customer/nfs &" >> $(OUTPUTDIR)/customer/demo.sh
$(Q) echo "fi;" >> $(OUTPUTDIR)/customer/demo.sh
实际上,要添加一些自己的内容到rootfs都可以在这个mk中处理
比如在 project目录下建一个bin和lib目录,将这里的文件合并到rootfs中,可以添加下面的语句
cp $(PROJ_ROOT)/app/bin/* $(OUTPUTDIR)/rootfs/bin/
cp $(PROJ_ROOT)/app/lib/* $(OUTPUTDIR)/rootfs/lib/
//------------------------------ssd202添加应用到启动-----------------------
前面有说,我的SSD202是用的NAND,而我用的LVGL使用了GFX所以启动时要保证这些驱动都加载了,并且挂载了customer分驱
只能加到profile中
echo \/customer\/bin\/lvgl_gfx \& >> $(OUTPUTDIR)/rootfs/etc/profile;
修改分区及增加刷系统不覆盖分区
默认分区信息,给用户区的有些小,我要放的东西有些多,字体就有2M,还有声音图片
project\image\configs\p3/nor.ramfs.partition.disp.config
#rootfs$(PATSIZE) = 0x570000
rootfs$(PATSIZE) = 0x400000
###miservice$(PATSIZE) = 0x480000
miservice$(PATSIZE) = 0x170000
##customer$(PATSIZE) = 0x280000
customer$(PATSIZE) = 0x700000
这样我的的customer分区就有7M了。
有时我们希望增加一些地方合存如注册码之类的东西,并且希望刷机时这些数据也不丢失,
SSD202默认配置好了,有一个KEY_CUST分区
SSD212参考202如下配置 修改project\image\configs\p3/nor.ramfs.partition.disp.config
cis$(SYSTAB) = $(kernel$(MTDPART)),$(rootfs$(MTDPART)),$(misc$(MTDPART)),$(miservice$(MTDPART)),$(customer$(MTDPART)),$(appconfigs$(MTDPART)),$(key_cust$(PATSIZE))(KEY_CUST)
即后面增加,$(key_cust$(PATSIZE))(KEY_CUST)
最后添加(记得这里加的size,要从其它分区减出来,保证FLASH是16M)
key_cust$(PATSIZE) = 0x10000
这样cat /proc/mtd时就有一个名叫KEY_CUST的分区,这个分区不会挂载,刷机时也不会覆盖
可以使用mtd方式读写此分驱 参考以下代码
BurnKey.zip
配置自己的声音控制 我的SSD212板声音控制引脚与官方板不同。
声音控制引脚 PAD_KEY2 GPIO41
只接了LOUT 左声道
配置----------------------------
1、修改kernel\arch\arm\boot\dts\pioneer3-ssc020a-s01a-demo-padmux.dtsi
<PAD_KEY2 PINMUX_FOR_GPIO_MODE MDRV_PUSE_AIO_AMP_PWL >,
2、kernel\arch\arm\boot\dts\pioneer3.dtsi
sound { //找到sound节点
compatible = "sstar,audio";
//替换amp-gpio 设为PAD_KEY2 左右声道都是
amp-gpio = <PAD_KEY2 1 PAD_KEY2 1>;
配置自己的显示,因为板是自己画的,如果你们用官方的板没这些事。
注意:nor.ramfs.partition.disp.config 这类nor//ramfs的选择可根据你硬件采用的FLASH类型、希望采用的文件系统去替换,可在对应的目录中找到
我用的屏在官方的SDk中没有现成的时序,所以需要配置
屏引脚如下
(注意GPIO INDEX与PAD NAME不是一回事,比如PAD_GPIO1不是1号GPIO,请看SSD212 HW CheckList V07.excel中GPIO LIST/Tmux)
bl_en PAD_SR_GPIO16 GPIO16
LCD_BL_PWM PAD_KEY1 GPIO40
LCD_PWR_EN PAD_KEY0 GPIO39
官方驱动中屏只有LCD_PWR_EN/BL_PWM,我的屏还有一个bl_en控制
照手册,我的屏配置如下
[LCD]
m_pPanelName = "CC0702I50R_1024X600";
m_bPanelDither = 0;
m_ePanelLinkType = 0; #0:ttl 1:lvds 11:mipi
m_bPanelInvDCLK = 0;
m_bPanelInvDE = 0;
m_bPanelInvHSync = 0;
m_bPanelInvVSync = 0;
m_wPanelHSyncWidth = 70;
m_wPanelHSyncBackPorch = 160;
m_wPanelVSyncWidth = 10;
m_wPanelVBackPorch = 23;
m_wPanelHStart = 230;
m_wPanelVStart = 33;
m_wPanelWidth = 1024;
m_wPanelHeight = 600;
m_wPanelHTotal = 1344;
m_wPanelVTotal = 635;
m_wPanelDCLK = 51;
m_wSpreadSpectrumStep = 0;
m_wSpreadSpectrumSpan = 0;
m_eOutputFormatBitMode = 2; #0:10bit 1:6bit 2:8bit 3:565bit
m_ucPanelSwapChnR = 3;
m_ucPanelSwapChnG = 2;
m_ucPanelSwapChnB = 1;
m_ucPanelSwapRgbML = 0;
我的屏
//------------------------------------开始(212)配置-202用的是官方板不需要配置,应该差不多---------------------------------------
1、uboot 开启背光
SSD 的SDK中,在UBOOT中打开某个IO,只需要运行gpio out xx 1
这里的xx对应的是GPIO List的Gpio index. 比如我的BL_EN 对应的是16
要在开机中添加,则需要添加到bootcmd中,可以直接在project\image\configs\p3\script_disp.mk中修改,
实际上这个mk有个bootlogocmd来自于nor.ramfs.partition.disp.config
修改project\image\configs\p3\nor.ramfs.partition.disp.config
找到 bootlogocmd = gpio out 7 1 \;gpio out 16 1 \;bootlogo 0 0 0 0 \;
2、进系统后的北光及PWM开关
SSD有4个PWM,此处我们启用第1号,不用的用PAD_UNKNOWN
kernel\arch\arm\boot\dts\pioneer3-demo.dtsi
pwm{节点下,开启第2个pad-ctrl PAD_KEY1
/*set in padmux.dtsi*/
pad-ctrl = <PAD_UNKNOWN PAD_KEY1 PAD_UNKNOWN PAD_UNKNOWN>;
status = "ok"; // no available pads
//----------------------------------------------------------
kernel\arch\arm\boot\dts\pioneer3-ssc020a-s01a-demo-padmux.dtsi
// PWM for backlight
<PAD_KEY1 PINMUX_FOR_PWM1_MODE_7 MDRV_PUSE_PWM1>,
3、添加屏参数配置(使用于212,202有小小不同)
将上面的[LCD]配置保存成CC0702I50R_1024X600_TTL.ini
放到project\board\ini\LCM下
修改project\board\ini\misc\config.ini
//使用新的屏
[ROOT]
m_pnlList = {CC0702I50R,}
#m_pnlList = {SAT070AT50H18BH,}
再将上面的
[CC0702I50R]
m_pPanelName = "CC0702I50R_1024X600";
m_bPanelDither = 0;
m_ePanelIntfType = 0; #0:ttl 1:lvds 11:mipi 12:bt656
。。。。。。。将上面的复制一份下来
。。。。。。。
//增加下面这部份
m_ePanelPwBlCtrl = 1;
m_wPanelPwGpioNum =39; #我的LCD_POWER IO
m_wPanelPwmNum = 1; #这里是PWM号,不是GPIO号,我的是1号
m_wPanelDutyVal = 200000;
m_wPanelDlyTm2Data = 0;
m_wPanelDlyTmData2Bl = 100;
m_wPanelPeriodVal = 200000;
修改project\board\p3\SSC020A-S01B\config/fbdev.ini
FB_HWLAYER_OUTPUTCOLOR = 0
FB_WIDTH = 1024
FB_HEIGHT = 600
SSD202、212的开发SDK可以登录 https://www.comake.online/index.php?p=down_list&lanmu=4&c_id=6&id=7 获取
只需要留下电话、联系方式等,然后等他们打电话过来,审批一下就可以下载了。
先上个视频,用了SSD的FASTBOOT,因为使用了GFX绘图驱动并且应用是放到用户分区,所以需要等待这些驱动都加载起来并挂载完用户分区。
如果只使用FB,应用放到系统分区中NOR可以做到2秒内开机,NAND可以3秒多点。
使用GFX的LVGL地址(选择porting_gfx_double_buffer分支)
https://gitee.com/tianhuihe/lv_port_sstar_gfx
其它更多使用DEMO地址
https://gitee.com/mFlying/ssd2xx-demo
212+16m SPI NOR 开机可以到2秒多些,
202+128 SPI NAND 要4秒
pri显示的结果为:
baudrate=115200
bootcmd=run distro_bootcmd
bootdelay=2
fdtcontroladdr=46b19e70
force_normal_boot=1
partitions=boot-resource@mtdblock1:env@mtdblock2:env-redund@mtdblock3:boot@mtdblock4:rootfs@mtdblock5:UDISK@mtdblock6
Environment size: 230/131068 bytes
=>
baudrate=115200
bootcmd=run distro_bootcmd
bootdelay=2
fdtcontroladdr=46b19e70
force_normal_boot=1
partitions=boot-resource@mtdblock1:env@mtdblock2:env-redund@mtdblock3:boot@mtdblock4:rootfs@mtdblock5:UDISK@mtdblock6
Environment size: 230/131068 bytes
=>
T113使用TINA,想切换成Nor Flash。
修改 BoardConfig.mk
LICHEE_BRANDY_DEFCONF:=sun8iw20p1_nor_defconfig
按手册上进行修改,能烧进去系统。
启动时uboot报错,屏幕上已显示启动画面。
T113的配置只有SD卡的,求一个Spi NorFlash的配置
U-Boot 2018.05 (Apr 02 2022 - 06:28:13 +0000) Allwinner Technology
[00.197]CPU: Allwinner Family
[00.199]Model: sun8iw20
[00.202]DRAM: 128 MiB
[00.205]Relocation Offset is: 04f5a000
[00.219]secure enable bit: 0
[00.221]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=300Mhz
[00.228]gic: sec monitor mode
[00.230]flash init start
[00.232]workmode = 0,storage type = 3
spi sunxi_slave->max_hz:50000000
SF: Detected w25q128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
[00.248]sunxi flash init ok
[00.250]line:703 init_clocks
[00.253]drv_disp_init
request pwm success, pwm7:pwm7:0x2000c00.
[00.266]drv_disp_init finish
[00.269]boot_gui_init:start
[00.271]set disp.dev2_output_type fail. using defval=0
[00.277]boot_gui_init:finish
partno erro : can't find partition bootloader
54 bytes read in 0 ms
[00.289]bmp_name=bootlogo.bmp size 38454
38454 bytes read in 7 ms (5.2 MiB/s)
[00.308]Loading Environment from SUNXI_FLASH... *** Warning - bad CRC, using default environment
*** Warning - no device, using default environment
Failed (-5)
[00.344]update part info
[00.347]update bootcmd
[00.349]change working_fdt 0x46b19e70 to 0x46af9e70
disable nand error: FDT_ERR_NOTFOUND
[00.373]update dts
Hit any key to stop autoboot: 2 FDT ERROR:get muxsel err returned FDT_ERR_INTERNAL
sunxi_pwm_pin_set_state, fdt_set_all_pin, ret=-1
[00.468]LCD open finish
0
## Error: "distro_bootcmd" not defined
=>
停在这个界面
白嫖怪,等一个扩展板,
希望有:RGB屏、功放、触摸、麦、网口,
钱都准备好了,你说不卖了?
然后还说要送我,我是缺钱的人吗?
是的,我是,,啥时候送?
W806是联盛德全新推出的安全IoT MCU芯片,支持平头哥CDK开发环境,芯片大小6×6mm,近似一粒薏米大小。
W806-KIT 开发板尺寸64×26mm ,内置1M Flash和 288KB RAM,最高主频可达240MHz,采用QFN56 封装,至多44组GPIO可用,USB接口,可以直接插电测试使用。
浅色皮肤是W806+8BIT并口屏。
深色皮肤是ESP32+SPI(40M)屏 使用了DMA
都是ST7789 240*320 16BIT
https://gitee.com/zhangheyang/w806_-lvglv8_-st7789_8-bit(本站下载 w806_-lvglv8_-st7789_8-bit.7z)
视频中都是一轮动画切换,一轮直接切换。但因为上电时间不同,所以并不是同步进行。
朋友们将就着看。。
理论上8BIT应该流畅很多,可能是水平不够,不知怎么优化。希望高手们指点。。
https://whycan.com/t_3538.html#p39301
RTT大概可以做到这个样子。
LINUX 估计最少要3秒了。
这得水一贴,喊喊666.
NAND、NOR我都要买一块,不吃饭也要买。
看到有MIC了,有功放喇叭吗?
这个方法好 windows下用什么开发工具
我用eclipse
在V3S上运行AWTK的demo CPU占用就100%了
你这个是动画时候吧,我记各还好无论是内存还是CPU都还OK呀。
V3S带1024*600 动画开销是有些大。
我上面的方法其实也适合V3S、A33、甚至F1C都可以。
在LINXU下编译好So后,做应用开发基本不用进LINUX了,全在WINDOWS下进行。
而且可以用WINDOWS下的调试器设置断点,调试,切换一下配置就可以编译不同平台的应用。
我移植过,不过我的板可能跟你的不同。
你遇到什么问题?应该很顺得呀。
分享一下我的方法给你参考:
1、将AWTK用SSD的GCC在LINUX下编译成so,这样后面的开发都可以在WINDOWS下进行,将对就原.a\.so拷到WINDOWS下去。
2、将SSD的SDK中的一些LIB考到WINDOWS,主要是ex_libs\mi_libs\package下的libc,当然还要include。
3、根据你的屏引入CC0702I50R_1024x600.h或其它,引入sstardisp.c和.h
4、window_main.c application_init加入
#ifdef AWTK_SSD
MI_DISP_PubAttr_t stDispPubAttr;
stDispPubAttr.eIntfType = E_MI_DISP_INTF_LCD;
stDispPubAttr.eIntfSync = E_MI_DISP_OUTPUT_USER;
sstar_disp_init(&stDispPubAttr);
#ifdef AWTK_SSD_MI
play("/customer/pizzicato.wav",15);
#endif
#endif
好哥哥,这个会开源吗?
晕哥啥时有芯片买呀。
应该将H300下的
[dram_para]
。。。。
这一段配置拷到R11工程的fex中去就能跑了。
其它就是网口,R11是没有网口的,在fex中配置好后V3S的网口也能用。
声音、USB这些没有区别。
哪个H300别玩了,除非你是跟他一样的板,里面很多代码写死的都没有配置。
与V3S配套的还是linux3.4靠谱。我记得里面有几个都可以跑V3S的工程,只要改[dram_para]
NAND\NOR的都行。
这两个都是R11的一个NAND,一个NOR,NOR的启动比NAND快。
听别人说H300就是V3S的项目,我也试过,好像这个只支持NAND,要改成NAND还有很多改动。
这个LINUX好像是4.9吧。
TINA3.5下,banjo-R11_pref1的项目可以用于V3S,支持NOR。
这个我试过,是不是要改内存定义我不记得了。
补个效果图(从QQ聊天记录中找到的)
这段时间太忙,一直没有时间搞硬件,群里多次有朋友问RTT下DFS的使用问题。
这里做个说明,因为没有用硬件试,所有内容是记忆和QQ聊天记录中找回来的。
具体步骤可能有些出入,想用的朋友可能要稍爬一下坑。
一些说明:
如果文件以读为主,可以用FAT格式,rtthread\env_released_1.1.2\env\tools\fatdisk中有现成的工具。
如果经常要写入,建议用littlefs 有写均衡,性能上FAT比littlefs稍强。lfsdisk.zip
lfsdisk与fatdisk用法基本相同。
RTT上的处理
勾上这个。
然后pkgs --update
然后根据模板建一个fal_cfg.h
从第2M开始,后面是14M建一个分区,因为一般固件不会超过2M
将下面的代码放到需要初始化文件系统的地方,比如我就放在applications/main中
/* 初始化 fal 功能 */
fal_init();
/* 在 spi flash 中名为 "filesystem" 的分区上创建一个块设备 */
flash_res_dev = fal_blk_device_create("res");
// struct rt_device *flash_res_dev = fal_mtd_nor_device_create("res");
if (flash_res_dev == NULL)
{
rt_kprintf("Can't create a block device on 'res' partition.");
return 0;
}
/* 挂载 spi flash 中名为 "filesystem" 的分区上的文件系统 lfs elm jffs2 */
if (dfs_mount(flash_res_dev->parent.name, "/", "elm", 0, 0) != 0)
{
/* 格式化文件系统 lfs elm jffs2 */
dfs_mkfs("elm", flash_res_dev->parent.name);
/* 挂载 lfs elm jffs2 */
if (dfs_mount(flash_res_dev->parent.name, "/", "elm", 0, 0) != 0)
{
rt_kprintf("Failed to initialize filesystem!");
}
}
然后在main里面。将res挂到/目录。
现在其实以可以在rtt的控制台中ls cd这些了。
上面的代码中可以看到,挂载不成功会mkfs,也就是说产生的是空的。
现实中我们往往需要将电脑上的文件夹拷到FLASH中去。
以FAT格式为例
在电脑上建一个文件夹 root 将要上传的文件放进去
建一个root.xml
<?xml version="1.0" encoding="UTF-8"?>
<fatdisk>
<disk_size>14336</disk_size>
<sector_size>4096</sector_size>
<root_dir>root</root_dir>
<output>root.bin</output>
<strip>1</strip>
</fatdisk>
fatdisk.exe -f root.xml
会生成root.bin
实际上可以建多个分区,比如我建了一个root存放程序要的图片,再建一个data存用户数据。
将root.bin写到对应的位置,比如我上面定义的是从2M开始
sunxi-fel -p spiflash-write 0x00200000 root.bin
这样在RTT中cd sl就可以看到你上传的文件了。
littlefs基本上差不多,只是在RTT中要引入对应的文件系统。
至于LVGL中怎么使用这些文件,应该比较简单,请其它小伙伴补上。
我用TINA+F1C100S也是搞定这个声音,
V3S 的可以,手册上的配置好好像不对。
https://whycan.com/files/members/6138/0A03AAD53BF30E64A5636AC0BEA7C3F0.mp4
https://whycan.com/files/members/6138/C03EEE2323B71A68EDC2374DF894B945.mp4
上面录像的视频因为手机录像帧率和显示帧率不一致引起,实际上并不闪。
做个小广告,有音视频方案产品需要开发可以加我微信:cube_work
TINA3.5下,F1C200S的声音要如何配置呢,好像对着手册不行。
如果你有TINA的SDK,能编译F1C200的工程,在编译过程中,有一步是询问你是F1C200/F1C600/R6 这里选3 R6就是F1C100S。
这样试试
amixer cset numid=1,iface=MIXER,name='Master Playback Volume' 63
amixer cset numid=17,iface=MIXER,name='Speaker Function' 0
aplay /root/2.wav
顶老大,老大666
成哥666,
不打算支持RGB或MIPI屏的FPC接口吗?感觉这种也蛮有用的。
建议带个功放芯片,直接接喇叭就行的哪种。
Tiny200哪个功放功率太小,可的找个大点的。
麦克风也加上吧,可能有人想用。
问过他们,这些资料公开出去没啥问题的,他们自己在整基于OPENWRT的版本,就是开机很快的哪个。。
就像全志,TINA需要签NDA,而大家玩的是LINUX哪个,不会找麻烦的。
这个加密,我是不是只要知道一个已知的ID,然后自己编译个LINUX,然后另写一个
DEVICE_ATTR(factory_id, S_IRUGO, m25p_factory_id_show, NULL);
m25p_factory_id_show 这个函数直接返回与另一个板一样的值?
估计得再实现一个写入值,然后写入值与这个ID进行混合,按双方都知道的算法进行加密,再返回,进行一次校验。。。
晕哥还是一如继往的牛B呀。。。
W25Q128这类FLASH有一个唯一ID,而像V3S这些没有唯一ID的,所以想取这个FLASH的唯一ID。
?像RTT、裸机这些实现简单,请问如何在LINUX下获取呢?
拿人家的嘴软,人家送了我块板,我帮他说说话。
板还是很不错的,默认系统是跑QT的哪个,内存是全志的哪个ION占了很大一部份。
V3S的资料都是通的,我就用芒果派,或TINA,跑得飞起。
我的是V3S+TINA3.5
运行自带的DEMO正常,硬解MP4都流畅。
但运行AWTK的DEMO,屏是黑的,时不时闪闪。
有没有人解决过?
awtk我没有用过,不过在tina底下如果跑gui程序出现不能跑的情况
有可能是开机脚本里
启动了一个自带gui的进程
导致再运行一个gui的时候会冲突
尤其是对fb的操作
之前也是被自带的minigui影响到过
是有运行一个DEMO的,是一个洗衣机控制的软件,能正常运行。
我是KILL掉这个进程再运行AWTK的,否则cat /dev/urandom > /dev/fb0也不会正常。。
V3S下,启动后设备正常,进入了自带的DEMO程序,显示各方面都是正常的,KILL掉这个DEMO程序。
cat /dev/urandom > /dev/fb0
测试显示是OK的
运行awtk-linux-fb编译demo的程序,屏幕闪一下,就黑了,
fb_test /dev/fb0,屏有闪,黑色、灰色的闪。
只要运行了AWTK的程序后,再运行
cat /dev/urandom > /dev/fb0
都不正常了。
运行DEMO日志如下
try /mnt/UDISK/release/bin
app_root=/mnt/UDISK/release
fb_info_t: /dev/fb0
xres=800 yres=480
xres_virtual=800 yres_virtual=960
bits_per_pixel=32 line_length=3200
fb_info_t: red(16 8) green(8 8) blue(0 8)
xpanstep=1 ywrapstep=0
fb_size=1536000 fb_total_size=3072000 fb_nr=2 smem_len=3072000
fb_open clear
fb_open ok
ratio=1.000000 800 480
display_thread start
input_run:313: open keyboard successful, fd=6, filename=/dev/input/event0
input_run:218: open mouse failed, fd=-1, filename=/dev/input/mouse0
window system_bar open
window main open
此时屏是黑的
用MINGW编译对应的WINDOWS版本GCC也是可以的,我只试了编译,生成了GCC的EXE这些,没有学入测试,就是生成的东西太大了。用中科世为的编译器很方便,所以没进一步测试。
gcc for windows.txt
参考这个,很简单的。
TONY老师真帅,什么时候开卖?多少钱?
晕哥掏了血本呀,这个182M,流量费不小哦。
去掉里面的GCC,加个链接好些。
666,这个带EMMC吗?还是只能用SD卡启动?
顺便测一下网站的回贴功能是否恢复,不收测试费的。。
现在就可以啊 硬件调试差不多了,@staunchheart已经开始帮忙调试软件了,你可以帮忙调试哪里呢
我最近打算改版,正好多些建议
哥,板收到了,您老送的哪个开关电源放在一起,将哪个40PIN的FPC连焊盘一起给翘起来了。。。
不过我画了个ZERO的扩展板,看原理图与你的哪个相似,如果可以用的我也跟放出来。大家不要嫌丑。。
流光大神。。。6666
他这个固件在荔枝派ZERO上能正确运行,但移到自己的板就出问题了。。。
感觉与配置的关系不大吧。
on_touch_callback_func这外写法其实是很差劲的写法,耦合得太紧。。当时刚开始学习RTT,只想着快点调通,现在看着都觉得有些惭愧,这个代码还拿到GIT上给朋友们看。
建议朋友参考
https://github.com/RT-Thread-packages/gt9147
的写法。等TINY200的R3版出来后再重新上传一个。
很多你以为是知识,其实只是知道,与刷抖音、头条差不多,不要因此而感动自己。
不要夸大自己的付出,而贬底别人的付出,这总觉得不公平。
也不要夸大自己的收获,,这易觉得满足。
既然选择了技术这条路线,“学而实习之,不亦乐乎。有朋自远方来不亦乐乎。人不知而不愠,不亦君子乎”更适合。
学到的东西能在现实中实用(习)到,很开心呀,到群里与搞技术的朋友沟通,也更开心了。如果你是天才,你的知识比我们这些凡人都强,也不要生气,给我们讲解,就是君子了。
相对其它行业,我们理工科更客观些,对就是对、错就是错,别人能做到的,你只要努力也能做到(只要有硬件环境)。
usb应该是几乎一样的
声音部份呢?我再近也在试V3S跑RTT,如果将F1C部份的声音驱动移过去改动大吗?
刚开始玩V3S,很多地方请大神指导。
不知道你有没有"挤"过中国的公交车?
这个问题有点像挤公交车, 车还没来的时候盼着车快点到站,
要是上车了, 就想着快点关车门, 甚至恨不得把车门焊死.
哈哈哈哈.gif
发这种劳骚是没有意义的,公不公开自己的成果都是他的自由,别人可能是基于某一目的才投入时间和精力去研究的,而我们可能只是业余玩玩。我们愿意公开,也不应因别人不愿而埋怨。
哪怕别人是有偿公开,我们使用后,也应该尊守别人的意见,不要将他用来获利的部份公开。
拿起筷子吃肉,放下筷子骂娘,还只是因为自己碗里的肉比别人的小或没别人的肥,这样搞得同行都没饭吃。
V3S的不方便。F1C100s我也有调试好,是rtthread系统的,但是还没有时间整理。如果你需要,我可以先发参考代码文件给你,留下你的邮箱。希望能帮助你尽快调通
我目前也实现了RT-THREAD下的USB DEVICE,但没有实现HOST。
因为参考了淘宝上的掌机代码,不方便公开。老大如果能方便公开USB HOST的话,请发一下我邮箱36380047@qq.com.
另请告知,如果使用了这部份代码后是否可以公开到GIT?尊守原作者的规则。
该男子居然以此为乐, 乐此不疲,乐不思蜀.
还要加上,该男子因为婚礼临近。。。。省100字。。。。
TKS 只能跟在后面叫666
补充一下,端午节、建军节、国庆节的礼物准备得如何了??
SR9900在F1C200S、100S上有测试过吗?
USB转网卡听人反应说不稳定,是产品化后不稳定,开法测试没发现问题,批量到客户哪就不行。。
重新上电,正常。。TINA与camdroid都是这样
按RST。。。。
目前来说,站长没有搞开发板这个业务,主要是与全志相关的小伙伴都喜欢在这里看贴、发贴。
所以一些卖板的店主就直接将链接设到此网站。
此网站发布开发板类的广告也是免费的。
你确定已经映射到了合适的地址,我看大多数的裸机arm9大多数将虚地址和物理地址是完全一致映射的
只需要将会导致bug的虚地址,映射到一个真实的ram地址,就能捕捉到这段地址跑飞
兄弟可能没有仔细看我们讨论的是什么问题,我们现在讨论的时当不小心野指针时,正好指向这一地址,系统会死。
正常情况下死了的时候看门狗会将设备重启,但这种情况下看门狗不起作用,只能人工去重启。
而不是在讨论为什么要指向这个地址。。。
gt911有两个地址,前面有个帖子说过,这地址可能随机,用i2cdectect搜索一下,是不是变成了另外一个?
了解,是有两个地址,一个0x14,一个0x5D。如果地址不对读到到芯片信息和config信息的。
现在能读到配置,说明与板的I2C通信没有问题,应该INT不能触发。。
我现在改用TINA也试了,一样的。
按板上的RST键重启后,触摸不能用。只能重新开电源。
有没有老大们测试过这个,怎么回事呢??
看了很久,还是没看明白题目
不是说GT911,烧好系统,正常上电启动OK。
然后按住CPU的RST,重启。能读到GT911的芯片和配置,但不正常。
有没有老大指点一二呀。。
用mmu,比如映射到一个死循环上,然后让死在那里,就能触发wdt
哪个早就处理好了,现在是说这样会死,并且不会触发WDT。
我为什么又说以??唉。。
现在用使用GT911+V3S+camdroid。
正常上电触摸驱动正常,但如果使用过程中按芯片的RST(不是触摸线路上的RST),系统会重启。
在重启过程中能
[ 2.757612] ======detect ok !=====
[ 2.761714] GTP I2C Address:0x5d
[ 2.880037] X_MAX = 800,Y_MAX = 480,TRIGGER = 0x00IC Version: 911_1060
读取到GT911的配置、版本号等,但不会触发触摸中断。
上电的时序应该没问题,有问题的话是读不版本号、配置等的,将触摸上电时的各个时间延长用万用表测,这个上电是正确的。
必需重新上电,才正常。
查看进程里发现重启比重上电进程中少了一个。
求助。
我那个只是示意代码。是要向那块被释放的地址里写入合适的数据,使a->func的值为0xdba00000 ~ 0xffff4040。
明白了,重现了,确实会这样。如果执行0xdba00000 ~ 0xffff4040确实会死,并且看门狗都会不起作用。。。
老大厉害,要如何避免呢?
继续研究。C++对象内存布局虽然没有固定标准,是编译器实现的,但基本是按照《深度探索C++对象模型》的样子。
一个带有虚函数的类的指针,指向的内存区域最开头应该是类的虚函数表指针。该指针指向一个数组,数组成员是函数指针。
....
这两天临时出去有事了,所以没能按时试。
经测试RTT用GCC编译,没有这样的问题。WDT正确的工作了。
rt_kprintf("start wdg test----------------------------------\n");
struct A* a = (struct A*)malloc(sizeof(struct A));
// ...
free(a);
// a被释放,指向的地址重新分配后写入了其他内容
// ...
a->func(); // 野指针使用,危险!
rt_kprintf("end wdg test----------------------------------\n");
mark一下,等待楼主继续研究。按理说野指针后看门狗应该会重置,如果真不重置是个大问题,看门狗意义何在。。
晚上我也试试。
89元的链接呢
https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-21557827489.10.25224708uQ2FRQ&id=606632960791
这个是中科世为的,没有原理图这些。。我没有玩。。
这个是A33,带的是16M norflash
如果要说性价比的话,还是选成品比较好,如果要用来玩的话,300以内无所谓贵贱,
有道理,
另外这个有128M内存,跑个1024*600的LCD是常态吧。。是否需要50PIN的屏呢?
核心板的话
以这个为基准?我是希望出网口、WIFI这类。作为玩的东西,性价比也还是很重要的。
当然听大家的意见了。。
补充一下,上面哪个板如果需要的话我可以快递给容哥。
你那里能焊接板子嘛,能的话我给你寄点,要不估计我焊接好还要好久
手残党。。。FPC这些好像很难焊,没焊过。。
其它的免强能焊,估计得废几块,成功一块。。
https://whycan.cn/files/members/3311/_20200517234853.jpg
板子回来啦哈哈,如果有能帮忙一起验证软硬件的可以联系我,免费包邮赠送,我准备去买焊接需要的原件了哈哈
软件我来。。
大而全我感觉工作量太大了,不如做个X3+sdnand的最小核心板,其它大家在一起根据自己需要做底板
说得也对,但像Tiny200,荔枝派ZERO哪样还是有必要的,显示、触摸、网络建议加上。
Tony老师牛。。。不知这个40PIN能不能接4.3的通用LCD屏,480*272的哪种。。
昨天讨论后,大家认为128M的内存,接HDMI、VGA有些鸡肋。
512M版本可以考虑这个。
有线网口呢?用USB的RTL8152可以吗?
补个意见,保留emcc、norflash、SD -NAND存储。
能全部留着吗?
希望能含电容屏触摸,
LCD屏采用40PIN或50PIN的方式,是否核心板+底板的方式没意见。
evtest 有反应吗?
编译了evtest,试了一样的。
直接evtest /dev/input/event2没反应
先
cat /dev/urandom > /dev/graphics/fb0有反应。
这个camdroid没有evtest工具,下载哪些源代码编译出可执行文件不知要怎么配,总说没权限,chmod提示只读系统。
只有用NDK的application.mk/android.mk的方式编译才行。
这个还在研究,还没有解决。
使用V3S+camdroid,触摸屏是FT5216,现在能加载驱动。
启动后直接 cat /dev/input/event2 没有反应。
但 cat /dev/urandom > /dev/graphics/fb0 后再 cat /dev/input/event2有反应。
我的程序启动后读取/dev/input/event2也没有反应。
V3S玩的人不多,软件部份我可以参与一下。
666,可以呀。看起来很不错哦。。几层板?会开源不?
统一回复 ,谢谢楼上两位关注
感觉SD卡哪里搞个可选贴SD NAND的方式也不错。。:lol
等柿饼派的SDK好了 我把视频播放加进去
老大能搞个GCC的LIB不?JPEG解码的。
现在加host都没有用了,可以先同步到GITEE。
在GITEE你头像边上有个+然后将GITHUB同步过来,这样大家都可以下载了。
666,最佩服你们这些会布线的大神,我是只能看懂原理图的菜鸟。。。
https://whycan.cn/files/members/3311/QQ截图20200513164332.jpg
我这里这么设计行不,PB能不能作为中断,另外,电容屏触摸这块驱动有写好的么
V3S手册上,PB、PG都可以当作中断。
触摸屏的驱动有的,GT911,FT5xx都有。
RST是否要上拉呢?我不太懂硬件。
我看了一下 这个不能无缝切换吧,接电阻屏的话,要把二极管拆掉?否则信号怎么能过去呢
另外没看到他的中断接到了哪个引脚啊
中断脚V2接了PA0(他这里设计有问题,PA0不能作为中断),
RST脚V2没有接(所以对于GT911这类需要时序初始化的不行,他会改回成V1的方式。
V1 INT接了PE3
V1 RST接了PE4
因为V2版的触摸有问题,哪个没试,也没从没用过电阻屏。
应该是NS2009,有按下时会变成接地,此时有二极管变成0,平时有上接是1.
这样产生中断,信号能过去。
可以在论坛搜TINY200
https://whycan.cn/t_3386.html
TINY200是F1C200S的,歪朵拉的板,做得很巧妙。
这是他的V1版,用NS2009/电容屏是选择NC一个电阻。
tiny200-sch.pdf
这是V2版,V2版设计有BUG,就是A0不能作为INT引脚,且RST没有接IO,所以他们在改版,再改加V1.
但V2版可以不用NC电阻,用了一个单向的B5819WT,这样,想接电容屏就接。
periph.pdf
主要是如下
没找到呀。。
最后一页,左下角。。
线序建议参考TINY200
RST,VDD,GND,INT,SDA,SCL。。。。
这样买TINY200板的朋友配的屏就可以通用的玩了。。
那不太了解,这块我是抄的荔枝pi,我没设计过触摸电路,欢迎大佬给个demo,让我抄下:D
荔枝派哪个只能接电阻屏的,可以参考TINY200,或前面
https://whycan.cn/t_895.html
CTP部份,电容屏与电阻屏接NS2009一样,都是I2C通信。
只是需要INT(NS2009也可以用INT),和RST引脚。
大部份都一样,RST接一个IO,上拉。
INT不要上下拉(也可以到NC电阻,因为有些触摸不一样)
电阻屏体验太差,玩的人太少了。
四核A33的主线Linux不就是有看门狗么 echo 1 > /dev/watchdog 就开启看门狗, 几秒钟不喂狗就挂了自己重启。
哪多核心下,如果有一个核心一直在喂狗,不是这个喂狗就没用了?
单核好理解,像多核的电脑,一个核消耗100%,其它核还能运行也是可以的。
有引出啊,,加了触摸IC的,U11就是,背光电路也有的啊
背光电路看到了,是我看得不仔细。
40PIN的哪个是FPC吗?我以为是针脚。。
哪个触摸是电阻屏的NS2009吗?没看到接INT和RST引脚呀。
如果接GT911这类电容屏呢?
一般都是主程序喂狗,主程序死掉没法喂狗系统就复位,你说的一个核心死循环可能会出现这个核的cpu占用率很高。
首先系统本身就是多任务的,某个核心CPU占用100%,但可能另一个核心还能正常喂狗。
如果有两个程序,都是主程序,他们运行在两个不同的核心上,A死了没法喂狗,但B还能喂呢?
还是说系统的主程序,无论多少他,他都运行在第0号核上?
sch_20200513-1305.pdf
目前的原理图,欢迎大家斧正,我开始设计PCB啦,我这个可不可以称之为什么pi呢哈哈
1、建议触摸屏采用通用的40PIN FPC,并带上背光电路。
2、触摸能接个电容屏爽些吧。
一直有个问题,多核情况下,看门狗如何处理?
比如一个核心死了(如死循环了),其它的核心没死,如何处理呢?
求大神科普。
我这个产品只在应用看逻辑有没有死,不管底层四核的问题,
比如网络不通了, 或者采集不到modbus数据了, 就不给 PG0 一个脉冲信号了,
这样N76E003 就当他死了, 重新复位。
看来我得另开一个贴,请教大神
一直有个问题,多核情况下,看门狗如何处理?
比如一个核心死了(如死循环了),其它的核心没死,如何处理呢?
求大神科普。
同拖延症患者,我是上周打算画个linux板子玩下,用F1C200S.. 画完封装后朋友又打算用网络...封装一个一个引脚标注,没法复制手册 打算换V3S
蛮喜欢V3S的,就是适合的板太少,荔枝派ZERO要接个电容触摸都不方便。
希望有朋友能开源一下好用的板子。。。
ESP8089有的
https://whycan.cn/t_834.html
RTL8723BS
https://whycan.cn/t_895.html
这个贴子上有
尊重作者的劳动,我提供的SDK也打成lib
我有买他的代码,并参考他代码中的声音驱动移到了RTT下,征得他的同意了,买了他的掌机的代码的朋友,
可以从我这拿到RTT带声音播放的代码,RTT的基础代码已放到GITEE上,声音这个经他确认我可以发。
另外他的JPEG的lib,老大能否用GCC编译一下,并且修改一些处理,现在的代码中调用中断的方式与RTT的有些不适合。
内存泄露与野指针,简直是噩梦。。哪个system_char如果是你自己写的话,只能出去玩一下,然后回来静下心。
仔仔细细的将写过的代码重新看一遍,每一个环节都不要错过。
相对来说内存泄露还好差一些,重点看创建的对像有没有释放,比野指针好查。。
这也是为什么应用层流行JAVA、C#、JS这类带GC,无指针语言的原因。
祝你好运吧。。。
dl目录的压缩包上传到百度网盘
https://pan.baidu.com/s/1LcPxGbuLvSA7qypwRGofFw
提取码:kcde
会在QQ群里也上传一份,以便下载。
文件名:openwrt_f1c100s_dl.tar.gz
另外告诉大家,GITHUB上的项目,(只要是GIT项目,都可以在GITEE上进行同步.
参考:https://gitee.com/help/articles/4284
就是说道,点你的头相边上的+号,然后从GITHUB、GITLAB导入。
进去后选从URL导入,然后同步,大的项目要些时间,过一段时间进去点一下同步,大不了过一晚再点,基本上OK。
顶一下,给楼主喊一下666,希望更多的人入坑,考虑到GITHUB下载慢,这段时间改IP都没用,所以下载慢。
故装其移到GITEE
git clone -b licheepi-nano https://gitee.com/zhangheyang/openwrt.git
如果是下面这里慢(如果用上面的GITEE,此处已更新了feeds的GIT地址)
./scripts/feeds update -a && ./scripts/feeds install -a
修改 feeds.conf.default
src-git packages https://gitee.com/zhangheyang/opwnwrt_packages.git^35e0b737ab496f5b51e80079b0d8c9b442e223f5
src-git luci https://gitee.com/zhangheyang/openwrt_luci.git^f64b1523447547032d5280fb0bcdde570f2ca913
src-git routing https://gitee.com/zhangheyang/openwrt_routing.git^1b9d1c419f0ecefda51922a7845ab2183d6acd76
src-git telephony https://gitee.com/zhangheyang/openwrt_telephony.git^b9d7b321d15a44c5abb9e5d43a4ec78abfd9031b
这样就快了,另外依赖的dl等下我上传到百度网盘,这样make时不需要再去下载,让各位大老安心研究。
这个主要是不能带动分辨率略高的屏吧,800*480能吃得消?
这个记录一下,后面用得到。
并不是所有的FLASH都有唯一ID的,
各种依赖,最好从GITEE上下载,GITHUB基本上没法下载的,实在太慢了。。
Melis3.0对外开放,能下载到吗?
F1C800要先有个一发板才好,像Tiny200哪样的。。
666,这个怎么没有返馈。我来给加个油,期待板子上市。
DMA有中断事件,一般要异步的。
比如播放声音,用全写入或半写入一段后中断,然后再写下一段,在RTT下。
rt_hw_interrupt_install(DMA_INTERRUPT, os_dma_irq_handle, RT_NULL, "DMA"); //开启DMA中断
rt_hw_interrupt_umask(DMA_INTERRUPT);
发送数据时
//开启全传输中断
S_BIT(DMA_Base_Address, (n*2)+1);
//开启半传输中断
//S_BIT(DMA_Base_Address, (n*2)+0);
发完后会进中断
if (read32(DMA_Base_Address + 0x4) & 0x2) //全传输
{
S_BIT(DMA_Base_Address + 0x4, 1);
dmd_disable(0);
if (read32(DMA_Base_Address + 0x4) & 0x2) //全传输
{
S_BIT(DMA_Base_Address + 0x4, 1);
dmd_disable(0);
rt_audio_tx_complete(&(snd_dev.audio)); //这个是RTT的声音框架,去取队列中的下一段播放
}
}
有没有win直接运行的exe文件
LVGLBuilder.7z
这个可以,但建议自己编译,因为这个代码其实还很粗糙,最好能修改一下功能。
https://github.com/staunchheart/LVGLBuilder
这个设计器可以用QT编译。
新建项目时可以设置屏的大小,实际上没有用,
真正修正改大小在main.cpp中,将lvgl.init(xxx,xxx);遇到的坑,,用VC2015 QT5.10 没有编译过去,然后我改用Mingw+QT5.10
报错的地方是'assert' was not declared in this scope assert
在报错的代码加上#include <cassert>
编译就可以使用了。贴两张图
请问下app_create函数怎么生成的,我这边qt编译启动后设计界面没找到怎么生成C文件
在file ->export->c project
就可以生成代码了。
如果要CSI接摄相头,建议去掉背光的调亮,只留下背光开关。
触摸不能少,像GT911这类有启动时序的,RST用板的RST不知怎么搞。
没有什么好办法(如果INT下拉,可能可以,但绝对不能上拉,没有试)
要用的IO太多了,像功放芯片,有些还需要IO进行设定(防失真要设置)
屏的开关,只关背光,也只能说凑和着用。
建议加上声音功放,Tiny200g带的哪个1.5W的PAM8301就可以了。
AD也不错,如果能用立创EDA就更方便了。
楼主啥时完工,我来蹭块板用用。
r2版本(v2)勘误以及资源分配: https://widora.cn/tiny200
昨天已改好r3版本, 下周一去做pcb
给歪朵拉点赞,V3版出来再买。。
即无资料,也无价格。如果价格跟V3S相当的话,还是很有竞争力的。
也可能触摸屏的规格不同.
我手里好几块GT911的屏, 虽然都是6pin,但是没几个线序一样的.
不是线序的问题,是A0不能作为中断口。看一下手册就知道了,A0不能复用为中断的。
已经开卖很久了了...我刚买
偷偷的告诉大家一下,二代有个坑。触摸的中断接到A0上,而RST接的是芯片的RST。
根据手册,A0不能作为中断。哈哈哈。
强,学习学习,看来要自已挖坑了,先找 linux 代码看看
将bootloader合并到RTT后,启动1秒左右,并加入了声音播放驱动。
祼机 Fc100s 声卡驱动,那位大神有实现过的
我搞定了,RTT下可以播放声音,但因为参考了别人的代码,他不愿意开源。
666,会不会带网口呢?
非常期待。
[笑哭] 还没搞成功 哈哈
我试过用中科世为的Z6的编译器可以编译,到我自己编译的LINUX上运行。
是哪个版本的LINUX不记得了。
方法就是装中科世为的IDE,下面可以找到Z6的对应目录。
另外我试过交叉编译WINDOWS版本的GCC,能生成gcc,g++这些exe,但还有很多没有生成,不知怎么回事。
楼主好,我做了一个40PIN转60PIN的板子,打算驱动一块DE mode的屏,还没有搞定
请教楼主,能分享些经验吗
能不能分享谢代码或者BIN
多谢。
参考
https://whycan.cn/t_3538.html
https://gitee.com/zhangheyang/f1c100s_rt-thread
这里有RTT的代码,如果只想调试屏幕,本站的裸机程序带了屏幕显示,可能更适合你参考。
代码少,功能独立,容易找到要修改的地方。
感觉这是个水贴的,我还差点分,划划水。。
lcd_cfg_Struct lcd_cfg={
.pixel_clock_hz=33000000,
.width=PHY_LCD_WIDTH,
.height=PHY_LCD_HEIGHT,
.h_front_porch=40,
.h_back_porch=87,
.h_sync_len=1,
.v_front_porch=13,
.v_back_porch=31,
.v_sync_len=1,
.h_sync_active=false,
.v_sync_active=false,
.den_active=false,
.clk_active=false,
.line_per_pixel=18,
.rstdefe=46,
.rstdebe=44,
.rsttcon=36,
.backcolor=0x00000000,
} ;
这个要看屏的说明的,另外
请参考https://whycan.cn/t_2135.html
同时参考https://whycan.cn/t_3611.html
RTT下sys-clock.c
write32(F1C100S_CCU_BASE + CCU_PLL_VIDEO_CTRL,0x81004103);// 0x81004107);//
我买的没问题,但是如果提供了源代码,而不是lib文件,我可以使用它
我使用gcc,而不是mdk
我处理好了GCC+RTT+音频部份的驱动,其它部份我还没有搞定。
可以通过邮箱36380047@qq.com与我联系,如果使用QQ的话,也可以直接加我QQ。
请教一下,DMA,如果采用中断的方式处理传输完成,有没有DEMO。
我没有调通。
这个代码中,DMA传输是用检测寄存器的方式等待。
dma.zip
写得乱,见笑了
启动命令cmptest
原来玩RTT的还有这么多朋友呀,希望能与你加QQ。
我有些问题想请教。
能将测试的代码发出来作个参考吗?
UART1/UART2应该是有RTS引脚的,可以看一下配置。
应该可以实现流向控制,不过还是建议用自动流向控制这类电路网上大把。
也可以用13487这种带流向控制的485芯片。
如果实在没有,也可在应用层控制,设置流向引脚IO,一样能实现。
rt_hw_interrupt_install(TIMER1_INTERRUPT, timer1_irq_handler, timer, "timer1_irq");
rt_hw_interrupt_umask(TIMER1_INTERRUPT);
这些是RTT处理好的,估计其它系统还得进一步去阅读RTT代码。
board.c中os_clock_irq_handle就是依赖timer0的。。
libcpu上interrupt.c中
rt_hw_interrupt_init有处理这些。
这个好,让大家过来学一下RTT。
这个是不带RGB屏,只能SPI的吗?
用七牛、阿里的云存储,有转码服务,还可以同时转出多个清淅度供用户选择。
只需花少许的钱:D
能接喇叭吗?
声音的驱动,是指AudioCodec模块那部分?那个好像资料是有的,最近我也在看ADC音频采集部分,USB的论坛大神也有搞出来,应该可以移植到RTT下。TVIN和TVOUT比较少用到的功能吧
是的,AudioCodec,资料有,含录音与播放。移到RTT上产不难。
USB的话还没有试,只有USBD部份,USB HOST没有。
老大方便加个Q联系一下吧。。
对于我们这些爱好者来说花大价钱买一个lib就感觉没啥意义了,除非拿来做项目吧
嗯,说得对。不过他还提供声音、USB、TVIN、TVOUT驱动这些的裸机代码,1500元的价格还是很公道的。
裸机代码用来作参考很方便,JPEG硬解还是很想要,而且提供的LIB,要移植到RTT几乎不可能,他有自己的一套机制,有些与RTT相冲突。
所以想问楼主是否公开。
当然公不公开是自己的选择,都值得尊重。
软解的方案很多,硬解没资料。。。RTT官方有很多package,其中包含有JPG的解码包TJPG,我测算过如果将F1C100s的主频提高到768MHz,在DDR中软解一张480*272较为复杂的JPG图片(117KB)大概耗时41ms,勉强能接受。。
网上买撑机的老大有完成JPEG硬解,但只提供用MDK编译的LIB。
硬解1280x720 30帧,
硬解主要是可以腾出CPU时间。
没了已经,至少官方的github仓库里面的tina bsp已经没有了。
https://gitee.com/rtthread/rt-thread/tree/gitee_master/bsp/allwinner_tina
https://github.com/RT-Thread/rt-thread/tree/master/bsp/allwinner_tina
当然这里面没有drv_fb
但从https://www.rt-thread.org/page/download.html中下载的rt-thread中有。
如果想试试I2C、GT911,WDG驱动,可以试试我的
https://gitee.com/zhangheyang/f1c100s_rt-thread
希望老大能力入RTT。。
不是说为了卖柿饼pi官方把图形支持阉了吗?我看最新版的github源码里面驱动只有uart,gpio,spi,mmu,sdio。这几个都是内存卡启动必备的,其他的驱动最新版的驱动是没有的。
我知道旧版的bsp里面有一些东西,但是毕竟官方不支持了,那一天rtt驱动架构改了,或者芯片revise了,就用不了了。
图形支持有的,BSP目录中,A开头的哪个就有,只是柿饼派UI不开源了,但FB、SDIO驱动还是有。
可以用LittleVgl\awtk这些图形界面。
希望有更多人一起搞RTT。
Do you have an anticipated OS to run? Linux? XBoot? RTT? Or bare U-Boot?
Just so you know, Tina (the die codename behind F1C series and those non-SiP packages) has very bad documentation. The only things you can find are datasheets and one single user manual that has no explanations on how peripherals work, just a register book and very simplified diagrams and verbiage.
The only practical use of those chips is to wither run AllWinner's own Melis OS or Official (non-GPL-compliant Linux), or to run a third party OS based on drivers stripped and rewritten from Melis or AllWinner Linux.
Put it in other words, see if your application fits one of the existing OSes, and if it does, then great. If not, the chance for an average hobbyist to port a feature to a new OS is virtually zero.
So far, I've been very unwilling to touch Melis or AllWinner Linux as I don't want to step into copyright infringements. I'm only open to FOSS OSes, such as Linux sunxi, XBoot and RTT.
Linux sunxi has all drivers but video encoders/decoders (which was supplied in AllWinner Linux as a blob), but require the longest time to boot and has the most overhead. XBoot has decent support for the chip, but missing some critical ones like USB, also it is not preemptive, so you have to manage all coroutines to make sure they work in synergy.
RTT was great, until it went commercial and stripped graphics support (framebuffer) from Tina BSP (they sell that part now) among many other peripherals. It was neutered to just SPI, UART and libCPU. Unless you do a ton of works, it won't do much other than printing hello world.
So if you are after something like full FreeRTOS support or official FOSS Linux support, this is not your best bet. You only choose this chip if all you need is a powerful SoC with little expanding capability and you are willing to be under the mercy of whatever existing OS you can use.
RTT的官方BSP中,包含了图形支持和SDIO这些,不是只含SPI、UART、LIBCPU。
并且I2C、WDG这些驱动的移植并不复杂,基本上只要从Xboot上稍作修改就可以了。
声音驱动也并不难,USBD也能找到足够的资源完成。麻烦的是JPEG、H264这些,确实有难度。
原来论坛开了专门水贴的板块呀。
划呀,划呀。。
谢谢啦
我添加了jpg解码器的功能并可以直接显示内存中的bmp图像
墙纸是从sd内存读取并显示的jpg文件。https://whycan.cn/files/members/2737/xshell.jpg
但是我仍然需要h.264媒体解码器的资源
如果您知道来源,则感谢您介绍我
我发现的是媒体编解码器库,但f1c100是否支持它?
https://github.com/allwinner-zh/media-codec即使出售,我也可以购买必要的信息
不幸的是,我不会说中文,并且使用Google翻译
你的JPEG解码是自己实现的吗?是否可以分享一下。
h.264很难,我的能力搞不定。认识搞的人,而且他肯定是收费的,且只提供lib的方式 。
没问题,欢迎探讨
TKS,,水一贴。希望更多的人加入RTT+F1C100S。
其实我将声音驱动也搞好了,不过用了别人的代码,他不希望公开。
还是尊重他的要求,哪部份我只能去掉。
奇怪,我上传成功了啊,我试了下确实下不来,不知道咋回事?
我下载了。我想将你的代码与我的
https://whycan.cn/t_3538.html
合并,然后发布到GITEE上。
我这里加了入I2C,GT911,看门狗驱动。将你的启动哪Bootloader合并放进去,是否OK。
友情顶,希望更多的人一起玩RTT。
压缩包下不下来。。。
@staunchheart: “小智科技”是做开发板的而不是做核心板的,不同的利润思路。想要核心板的洗洗睡吧。
阔以,开发板多少钱呢??大概价格。
核心板多少钱呢?
自己的坑,自己给坑填了。
本来想不懂脑子的使用代码,但发现spl跳转到rtthread后就是不行。没有办法,硬着头皮看了下arm9架构相关知识,最后发现代码基本都是对的,虽然有瑕疵,但能够使用。于是将注意力转向硬件驱动。最后终于发现是人品问题,具体经历我写出来供大家参考:
解释下楼主在对rtthread官方版本gcc_start.S文件的改造,在代码最开始定义了16个字节来表示固件信息:
1) 第1个4字节是跳转命令,机器码为0xea000002, 汇编的意思就是b reset, 跳转到reset函数执行。0x2是偏移地址,计算方法是:(目标地址-当前PC地址 -8)/4。其中目标地址是16,当前PC是0,偏移地址就是0x2了。XBOOT的作战的第一条指令直接定义为0xea000016,也是一样的道理。
2) 第2个4字节是幻数;
3) 第3个4字节是固定为0
4) 第4个4字节是固件长度,其中image_size定义在.lds文件中。现在描述关于人品的大坑:
因为直接运行到SDRAM是没有问题的,只是spl拷贝到SDRAM不能成功。因此我一直怀疑是跳转或者是拷贝问题,毕竟这么多年的开发经验,直觉还是靠谱的:
1. 经过查找ARM9的指令集,觉得楼主的指针跳转应用程序,虽然没有处理相关堆栈,但对于现在的应用是没有问题的。于是将目标怀疑为拷贝问题。
2. 利用sunxi-fel工具读出flash应用程序固件文件(前1K字节),对比了下,与下载固件是一样的。
这下就懵逼了,为啥其他网友都可以,而我的板子就不行。于是就有了在本网站的发帖询问。。。。。。昨天我突然想到,要不要看下SDRAM的拷贝数据是否OK,spi_flash驱动读出应用固件的第1个字节错误,本来是0x02, 读出来是0x03。找到问题就好办:
1. 拷贝完成后,程序强制修改0x80000000的首个4字节为0xea000002,然后跳转,正常了。。。
2. MCU开机可以自动加载spl到SRAM中,说明SPI FLASH是正确的,应该是驱动问题。结果发现楼主修改了SPI 的CLK频率,改回原来的频率,一切OK。。。我查看了我购买的荔枝派焊接的NOR FLASH丝印,虽然不是原理图标注的那个厂家型号。但是按照W25Q128的手册来看,QSPI的CLK最大70MHz,普通SPI的CLK最大33M。因此还得把SPI的频率降低才行,才保证不会出错。
那现在就有个问题,为何其他网友的不改SPI的CLK频率也行,我的板子就不行呢????所以只能归结为人品问题了。。。。。。。
惭愧,朋友的研究比我还深入。水平有限,只能将一些驱动移过来,太复杂的不会。
希望朋友继续研究,我近期也移了声音驱动,但因为使用了别人的代码,不适合公开。
要是有更多的人一起玩RTT+F1C100S就好了。
我现在是先用keil工程生成一个bootloader.bin,还没把boot+app一起编译。之前这样做也会卡在rt_system_scheduler_start(),后来我把bootloader中的irq和fiq代码删掉就可以了。现在吧boot跟app一起编译时,又出现卡在rt_system_scheduler_start()的情况了
好的,我照你的说法搞一下。。
我用GCC编译都OK,用MDK就会卡在这里,当然我的boot是独立的。
还是想把boot跟RTT整合到一起,今天抽空再次把bootloader程序和RTT工程链接到一起,是可以正常启动了,但运行不正确,一旦启动调度就出错
Boot to SPI mode\ | /
- RT - Thread Operating System
/ | \ 4.0.2 build Mar 13 2020
2006 - 2019 Copyright by rt-thread team
Execption:
r00:0x808007e4 r01:0x00000000 r02:0x00000024 r03:0x00000080
r04:0x00000000 r05:0x00000000 r06:0x80800958 r07:0xffffffff
r08:0x0000005a r09:0x00000024 r10:0x80800904
fp :0x00000000 ip :0x00000000
sp :0x800761c4 lr :0x80000940 pc :0x80000940
cpsr:0x20000013
undefined instruction
thread - main stack:
thread pri status sp stack size max used left tick error
-------- --- ------- ---------- ---------- ------ ---------- ---
估计是堆栈之类的没搞对,还得再仔细琢磨
rt_system_scheduler_start()这个卡死,你具体是改了哪个地方呢?
问题解决了,把Keil工程中启动代码中的irq和fiq代码删除就可以正常启动RTThread的app了。。。。虽然不知道为啥,但确实是可以了
这个问题我也遇到了。。我的工程用GCC编译没问题,用MDK编译后rt_system_scheduler_start()卡了。
一直没有找到原因,这段时间在搞声音驱动,所以一直没管这事。你这个贴子对非常有意义,希望与你一起研究。
希望可以跟你加QQ。
从 https://gitee.com/zhangheyang/f1c100s_rt-thread
然后从RTT中找到对应的start_rvds.S context_rvds.S
修改几处代码后就可以
set RTT_CC=keil
set RTT_EXEC_PATH=D:/develop/Hardware/Keil_v5
scons
这个复杂了些,
去 https://whycan.cn/t_3538.html
上面有GIT下载的,不需要RTATO下载,直接用sunfel烧写就好了。
https://whycan.cn/t_3538.html
参考这个吧,不要用RTATO工具。
You do not seem to have proper understanding about the North American engineering regulations, laws etc. When I was in Canada there was created one program for internationally educated engineers, so they can learn those stuff. But have to say to the best of my understanding the Chinese engineering education apparently is not good ...
I like nationalists, I do not like people who pretend to be something they are not. For example I was looking some time ago at some Chinese dressed as ancient Roman members of the parliament. I do not think there were such people. On the other hand, I was looking few days ago a film about Marco Polo. Can you say the Europeans had strong influence during the development of China ?
BBC, IMO is more like documentary, probably you would have to wait a bit …
I doubt that it will, it is a business. Furthermore the communist ideology, it is not yours. You seem to miss the fact that Bulgaria was part of USSR, I lived in those times … Also what communism you talk about ? The Chinese businesses are greedy as hyenas. I was reading recently about a case, a Chinese girl passed away because of hunger, collecting money for his ill brother treatment. The Chinese actually collected the necessary money for the medical treatment, but after the girl’s death and the publicity of the case.
In Canada some say a person have to love what he/she is doing. Why you consider just profit ? The stuff a person works suppose to bring enjoyment etc.
Sure, but as I stated, I am not charity and expect refund of my money including compensations etc. By the way the comment above refers also to all your Chinese junk products … on our markets.
“拿起筷子吃肉,放下筷子骂娘的人”。
如果真有问题,可以找律师来呀。享受着低成本的方案,然后将所有的脏水沷到中国人头上。
是的,10元的F1C100S,一生下来就有的,是上帝的功劳。然后骂一下快递员,你个罪犯,为什么不将他快点送到我手上。
刚刚模拟了一下 http://download.csdn.net/ 的 referer,
还是用上面的下载链接,
出现了下面的错误: https://public-download.csdn.net/500.html
<Error> <Code>NoSuchKey</Code> <Message>The specified key does not exist.</Message> <RequestId>5E6F18CF6B3F22383545651F</RequestId> <HostId>csdn-dl-public.oss-cn-beijing.aliyuncs.com</HostId> <Key>500.html</Key> </Error>
从这个错误The specified key does not exist.看来,
referer 只是第一道防线,后面还要验证 key,
我推测 csdn 为每个用户在 aliyun oss 申请了一个独立的 key。
现在我还没找到上面这步如何操作实现的,
如果这个能实现, 我觉得 aliyun oss 还是挺实用的。
如果是上面哪个地址,是带了签名和时间戳的。这带来一个问题,在百度搜索上也显示不了。所以做这个时要区分,需要SEO的与下载的分开。
@超级萌新 试了一下 csdn 下载, 还真是阿里云oss噢, 以前一直以为是csdn服务器自己存文件, 不明白为什么我把这个地址粘贴到别的浏览器就不能下载, 出现上面的 You are denied by bucket referer policy. 错误, 难道阿里云又跳转到 csdn 服务器校验是否登录?
referer是最简单的防盗链,很容易伪造的。
看你安全的要求,referer是由浏览器,根据当前页面发送的,很容易摸拟。直接在浏览器中输入的地址referer是null.
如果在whycan中的某个页面引用,浏览器发送的 referer=whycan.com/
r安全要求高的话每一个下载链接都要通过时间戳生成密钥。
单就RTT来说,可以参考
https://whycan.cn/t_3538.html
这个贴子,这个贴子里有boot和bin这些,可以直接GIT代码编译,用的是GCC。
至于将boot与bin合在一起应该也是可以的,我没有搞过.
ARM9? 什么价位?
他有两个核心,然后选型比较多。
IT9864, 参考价USD2.9
我现在在了解联阳的方案。
基于OPENRTOS的,硬件可定制性强。
这个开发框架是ITE自己提供的。
我了解到的价格还是很便宜的。
z11没有以太网 似乎就是f1c100
Z11有以太网,就是V3S。
Z6S是F1C100S,Z6是F1c200S
楼上朋友推荐的R11才是没有以太网的。
支持一下,我等学渣,就跟在后面喊“666,666”
感觉中科世为的Z11不错,适合你这个需求。我了解到的价格有些小贵,看你的量。
另外这段时间在看联阳的方案,也还不错。
主要看你的量,和可接受的成本。
没源码没得玩
F1C100S+RTT的源码可以参考这个
https://whycan.cn/t_3538.html
GITEE地址是,荔枝派使用只需修改一下drv_fb中的背光开头的端口。
https://gitee.com/zhangheyang/f1c100s_rt-thread
楼主能公开吗?或愿意有尝的出售,有个价格也可以。。
音频可以购买淘宝卖掌机代码的朋友,他里面有声音驱动,移到RTT也不难。
JPEG他只提供LIB,且只能用MDK编译的。
这个牛B,先收藏一下。
关注tvin的功能,学习实在是贵了点。
TVIN 代码是有的,他网站没贴出来,实际上有的(我没测试)。
不过JPEG硬解只提供lib,没有源码。
这个看不出来,编译的问题,各自不同,只能他自己研究了。
首先我这个处理上是有不到位的地方,LittlevGL2RTT本来在RTT的pkgs中就有,而我升级到6.1.1后,因为不想改哪些配置,所以有的地方借用了他。
所以最好删除掉env的packges里Kconfig中的这个引用。
可以自己研究一下,将遇到的解决思路也放到论坛上给后面的人共享。
水平有限,不好意思要人家的板。我只能做些简单的移植。
不过将我了解的贴出来,给大家作参考。
像摄相头这些不会。
与GIT上的代码有些差别,这里我加入了LittleVgl.
参考我的F1C100S的贴子
https://whycan.cn/t_3538.html
有信心的的是解决I2C,GT911以这些驱动,
声音驱动也OK了,但暂时没有开源的打算。
V3S中果大家有兴趣一起玩,I2C\GT911 LittleVgl6.1
些代码我会加到GIT上去,就是玩的人太少了。
基础的RTT这里有
https://github.com/staunchheart/bsp_v3s
本人水平有限,复杂的驱动也移不了,放出来给大家做参考。
嗯,这里应该是要用#else
只是我用的GCC用#elif也可以。
#ifdef LV_COLOR_DEPTH
#define LCD_PRE_PIXEL LV_COLOR_DEPTH
#elif
#define LCD_PRE_PIXEL 24
#endif
不应该呀,是否修改了什么代码?
很多朋友以为RTT需要在LINUX下进行,实 际上在WINDOWS下就可以进行。
全志的坑又大又深。。。
你好,晕哥,我手上有一块荔枝的F1C100S想通过RGB的接口驱动3.2寸的屏,目前不知道选用xboot还是RTT,不清楚哪个开发GUI会简单,同时我想用window系统编译代码,开发环境用哪个好些
RTT可以在WIn下编译
https://whycan.cn/t_3538.html
参考我的贴子,我就是WIN下进行的。
同样搜了一个zero的版本
这个更方便,所有的依赖你码都在里面,比如linux,gcc
不是再去从别的网站下载
https://gitee.com/MicroScale/allwinner-buildroot
make licheepi_zero_defconfig
make
这些方便我们这些刚开始玩的人。。
这个问题,可能是我在windows下用WSL引起的,在LINUX下没有这个问题,
但后面报
unable to execute 'swig': No such file or directory
error: command 'swig' failed with exit status 1
scripts/dtc/pylibfdt/Makefile:26: recipe for target 'scripts/dtc/pylibfdt/_libfdt.so' failed
需要手动apt swig
python-dev,
libssl-dev,
现在继续了,有问题在补贴。。
我用这个一键Build
编译哪个glibc时
/dlfcn/stamp.oST' 的文件状态(stat): 没有那个文件或目 重新make可以继续
中间有多次这个错误,都是stamp.oST,但在不同的目录。
再次执行make
最后报错
/build/glibc-2.29-30-g2d3fefd7ce64ac1015701c96916fffacc073a877/build/elf/ld.so' failed
总结起来的意思是:
1、DE模式,将VSYNC/HSYNC当作普通IO用是可以的,将VSYNC/HSYNC用电路拉高就好了。
2、VH模式下,将DE脚用电路接地,将DE脚本以复用为普通IO,也是可行的。
3、以上两种需要在屏选型时确认,并不是市面上随意买一块都可以这样用。所以最好还是电路上留下跳线来选择。