您尚未登录。

#1 Re: 全志 SOC » 请问有没有大神搞定了f1c100s的主线kernel4.19下的声卡驱动?[13楼@wammaw1314搞定声卡驱动,欢迎测试] » 2024-09-18 11:00:43

retroman 说:

有人试过6.6内核吗, 现在用6.6别的都正常, 就差声卡了. 打了Mesih Kilinc的补丁, 声卡设备是认了, 但是没有声音出, 没有头绪了.

buildroot-tiny200 (F1C100/200s) 开发包近期更新内容 * 已支持DVP摄像头 *,支持SPI NAND
https://whycan.com/t_5221.html

可以先用这个测试

#2 Re: 全志 SOC » V3s 应用程序 segmentation fatult » 2024-09-12 17:36:45

netonet88 说:

内存泄漏会把整个文件系统都破坏掉吗?但系统看上去都正常,文件也都在,就是应用程序运时就报错

比较一下可执行文件和依赖的so文件的md5码

#4 Re: 全志 SOC » 全志分区的解打包 » 2024-09-09 17:26:10

试一试通过uboot或者linux命令替换上面的 bootlogo.bmp文件

#7 Re: 全志 SOC » 使用T113S3 tina linux驱动ST7701S RGB长条屏幕,显示lvgl demo分两半问题 » 2024-08-30 10:35:56

我翻了一下 →→→ST7701S手册←←←

支持以下分辨率

Display Resolution
- 480*RGB (H) *960(V) (FWVGA)
- 480*RGB (H) *864(V) (WVGA)
- 480*RGB (H) *854(V)
- 480*RGB (H) *800(V)
- 480*RGB (H) *720(V)
- 480*RGB (H) *640(V) (VGA)
- 480*RGB (H) *360(V)

如果没猜错的话,接受分辨率应该是480*RGB (H) *960(V) (FWVGA)

实际面板被剪裁到了 400*960,你问下供应商是不是这样?

#8 Re: 全志 SOC » 小白自制Linux开发板(F1C200s)整理系列,持续更新中 » 2024-08-29 16:44:15

姓名死机了 说:

最近开始对开发板感兴趣了,向大佬学习一下

请发这种帖:

老树也能开新花,A20都用上linux6了
https://whycan.com/t_11345.html

#9 Re: 全志 SOC » 准备把Qt5.9.2运行在AllWinner全志V3s荔枝派zero板子上 » 2024-08-29 15:07:15

范特西 说:

请问这个平台能把opengl编进去吗?

V3s没有GPU不支持OpenGL,A33/A133支持OpenGL。

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

ubuntu@ubuntu:/opt$ 
ubuntu@ubuntu:/opt$ cat /etc/issue
Ubuntu 22.04.3 LTS \n \l

ubuntu@ubuntu:/opt$ 
ubuntu@ubuntu:/opt$ 
ubuntu@ubuntu:/opt$ export |grep UTF-8
declare -x LANG="en_US.UTF-8"
declare -x LC_ADDRESS="zh_CN.UTF-8"
declare -x LC_IDENTIFICATION="zh_CN.UTF-8"
declare -x LC_MEASUREMENT="zh_CN.UTF-8"
declare -x LC_MONETARY="zh_CN.UTF-8"
declare -x LC_NAME="zh_CN.UTF-8"
declare -x LC_NUMERIC="zh_CN.UTF-8"
declare -x LC_PAPER="zh_CN.UTF-8"
declare -x LC_TELEPHONE="zh_CN.UTF-8"
declare -x LC_TIME="zh_CN.UTF-8"
ubuntu@ubuntu:/opt$ 
ubuntu@ubuntu:/opt$ 
ubuntu@ubuntu:/opt$ 
ubuntu@ubuntu:/opt$ ls /mnt/hgfs/D/*.txt -l
-rwxrwxrwx 1 root root  6853  8月 14 21:51  /mnt/hgfs/D/1.txt
-rwxrwxrwx 1 root root 27295  8月 14 21:52  /mnt/hgfs/D/2.txt
-rwxrwxrwx 1 root root  2348  8月 14 22:02  /mnt/hgfs/D/3.txt
-rwxrwxrwx 1 root root  3317  8月 14 22:02  /mnt/hgfs/D/4.txt
-rwxrwxrwx 1 root root 16537  8月 13 09:17  /mnt/hgfs/D/5.txt
-rwxrwxrwx 1 root root 66847  7月 14 21:09  /mnt/hgfs/D/t113_i_nezha_error.txt
-rwxrwxrwx 1 root root 34186  7月 14 20:51  /mnt/hgfs/D/t113_s3_sw113_error.txt
-rwxrwxrwx 1 root root 39927  7月 14 20:53  /mnt/hgfs/D/t113_s3_sw113_ok.txt
-rwxrwxrwx 1 root root   923  7月 13 15:56  /mnt/hgfs/D/test.txt
-rwxrwxrwx 1 root root     0  6月  3 17:21  /mnt/hgfs/D/中国.txt
-rwxrwxrwx 1 root root 13826  8月  5 11:27 '/mnt/hgfs/D/新文件 24.txt'
-rwxrwxrwx 1 root root 35635  8月  5 11:27 '/mnt/hgfs/D/新文件 25.txt'
-rwxrwxrwx 1 root root 37255  8月  5 11:36 '/mnt/hgfs/D/新文件 26.txt'
-rwxrwxrwx 1 root root 87707  8月  5 11:55 '/mnt/hgfs/D/新文件 27.txt'
-rwxrwxrwx 1 root root 93467  8月  5 11:57 '/mnt/hgfs/D/新文件 28.txt'
-rwxrwxrwx 1 root root 35862  8月  5 12:21 '/mnt/hgfs/D/新文件 29.txt'
ubuntu@ubuntu:/opt$ 
ubuntu@ubuntu:/opt$ 

QQ截图20240828201312.png

"en_US.UTF-8" 不应该是 "zh_CN.UTF-8" 吗?

#12 Re: 全志 SOC » T113的tina编译gtk报错 » 2024-08-24 06:58:59

s45123456789 说:
晕哥 说:

@s45123456789
T113不支持,A133支持wayland。

哦哦,这样呀。大佬,那T113有什么办法编译出gtk的webkit来用吗?

不建议,估计得卡成ppt

#13 Re: 全志 SOC » T113的tina编译gtk报错 » 2024-08-23 19:09:17

@s45123456789
T113不支持,A133支持wayland。

#14 Re: 全志 SOC » 开源个 D1 / D1-H核心板 » 2024-08-23 13:57:41

arychen 说:

这个跟T113-I  pin2pin吗

是的,但是T113-i缺HDMI功能。

#15 Re: 全志 SOC » 全志H6的USB0 OTG模式连接电脑没有任何反应 » 2024-08-22 17:02:44

剑圣UZI 说:

应该是主线linux吧,uname -a 的output:
Linux orangepi3-lts 5.10.75-sun50iw6 #2.2.2 SMP Wed Apr 20 09:45:07 CST 2022 aarch64 aarch64 aarch64 GNU/Linux

参考这个看看:请问下主线 V3s Linux 如何在程序运行中自动切换USB模式: otg/host/peripheral

#17 Re: 全志 SOC » T113-S3 对比 v3s » 2024-08-21 15:40:27

wonrowl 说:

V3S经常抽风,感觉是个半成品,我的板子就是莫名其妙的问题,我都放弃V3S了,

V3S的编解码器也没用起来过😞

V3S芯片没有问题的,这个芯片出货量挺大。

#18 Re: 全志 SOC » T113-S3 对比 v3s » 2024-08-21 15:39:25

chendong 说:
晕哥 说:

V3s有mipi camera和h264 encoder,T113-S3没有。

T113-S3外设更丰富,内存128M。

晕哥,哪里能下下到最新的版本的v3s的声卡驱动,我现在内核是3.4 的,播放网络音乐时不时出现xrun, 不知道是不是驱动问题。

是不是没有建缓冲区?凡数字方式传播音乐,都要在接收端建缓冲区。

#19 Re: 全志 SOC » T113-S3 对比 v3s » 2024-08-21 15:37:37

wonrowl 说:

大佬,这论坛有没有改版的计划啊,发个图片什么都麻烦的要死😰

晕哥 说:

V3s有mipi camera和h264 encoder,T113-S3没有。

T113-S3外设更丰富,内存128M。

感谢您的建议,其实计划早就有了,只是缺money。

一定改,只是时间问题,谢谢支持。

#21 Re: 全志 SOC » 有没有tf卡座接口的sd芯片啊? » 2024-08-18 23:01:08

8p是啥?我记得tf卡座是9p的吧,也许我记错了

8p是指sdnand芯片封装

#22 Re: 全志 SOC » 有没有tf卡座接口的sd芯片啊? » 2024-08-18 23:00:29

我说的就是这意思啊,为啥不把tf卡芯片封装成卡座那种9针的,直接往卡座上一焊就行了,这些厂家非要自己搞个两排八脚的封装出来,通用性差了十万八千里,搞成通用封装所有的产品只要把卡座拆掉,都不用改板子

每个用户需求不同,可以考虑自己做一个转接板,类似这种:

设计一片 SD NAND + JTAG(全志soc) 转接板    [切记切记0.8mm厚度]
https://whycan.com/t_2025.html

改成半孔的

#23 Re: 全志 SOC » 有没有tf卡座接口的sd芯片啊? » 2024-08-18 22:57:56

echo 说:
晕哥 说:

用TF卡直接做产品基本没有,因为那个接插口太不可靠了。

米兔故事机内部就是TF卡槽+TF卡存储当内置存储用。

消费电子产品这样用,问题也不大.

但是如果是类工业设备,经过一个春夏秋冬触点大概就氧化差不多了.即使不氧化,运输途中的颠簸就够喝一壶.

#24 Re: 全志 SOC » 有没有tf卡座接口的sd芯片啊? » 2024-08-18 22:55:47

microxp 说:
晕哥 说:

用TF卡直接做产品基本没有,因为那个接插口太不可靠了。

我说的就是这意思啊,为啥不把tf卡封装成卡座那种9针的,直接往卡座上一焊就行了

啊这,8p不是更好吗?

#25 Re: 全志 SOC » v3s 如何在线更新内核。 » 2024-08-18 22:54:16

chendong 说:

用的正是spi nand。歇菜了。

也可以刷,命令不同,应该是用ubi相关命令.

#26 Re: 全志 SOC » 有没有tf卡座接口的sd芯片啊? » 2024-08-18 21:22:57

用TF卡直接做产品基本没有,因为那个接插口太不可靠了。

#27 Re: 全志 SOC » v3s 如何在线更新内核。 » 2024-08-18 20:28:09

emmc tf卡 可以用dd,

spi nor和spi nand不行

#28 Re: 全志 SOC » 拜求大佬帮我看看我编译f1c200s的uboot遇到的问题 » 2024-08-18 16:54:04

arch/arm/dts/suniv-f1c100s-licheepi-nano.dts

59行有语法错误

#29 Re: 全志 SOC » T113-S3 对比 v3s » 2024-08-17 22:09:33

V3s有mipi camera和h264 encoder,T113-S3没有。

T113-S3外设更丰富,内存128M。

#30 Re: 全志 SOC » 全职v3s 换到I2C出现GPIO报错问题有谁知道! » 2024-08-17 21:08:44

hai2599 说:

全志v3s TWI1  能PB8 PB9  也能 PE21 PE22的吗??

串口已经用PB8 PB9了

内核是用5.2的。。

没有这么用过,感觉不行,或许可以。

#33 Re: 全志 SOC » t113i + openwrt tina » 2024-08-10 19:38:07

这是A523 ddr调整方法:

1. 查看DDR频点
a523-pro:/ # cat /sys/class/devfreq/3120000.dmcfreq/available_frequencies
154000000 528000000 739200000 924000000
2. 查看实时频率参数的节点
echo  1 > /sys/module/sun55iw3_devfreq/parameters/dbg_level
或者
echo > 1  /sys/module/ccu_ddr/parameters/dbg_level
如果还是找不到,就到/sys/module/下find -name dbg_level找到具体的路径执行echo 1即可
响应的串口打印

[  434.856467][  T496] drate:154M load:57 rw:705M total:1232M
[  434.870411][  T496] drate:154M load:55 rw:684M total:1232M
[  434.889498][  T496] drate:154M load:42 rw:521M total:1232M
[  434.899553][  T496] drate:154M load:62 rw:771M total:1232M
[  434.909495][  T496] drate:154M load:41 rw:506M total:1232M
可以看到当前的DDR频率是154MHz

T113芯片可能不支持

#34 Re: 全志 SOC » D1s调试lvds,求解? » 2024-08-09 14:06:16

@ghosoft
把正常的文件和不正常的文件都发上来看看

#35 Re: 全志 SOC » t113i + openwrt tina » 2024-08-09 10:51:18

1、CPU 频率可以再现有系统调整,DDR有类似方法吗?还是必须配置内核,重新编译烧录?


这句没看懂

#36 Re: 全志 SOC » D1s调试lvds,求解? » 2024-08-08 16:32:55

退回去再一步一步修改,看改到哪一步的时候触发Unhandled exception: Load access fault

#38 Re: 全志 SOC » 求助! 全志H133录音是能正常录进去声音 但是伴随有哒哒哒的杂音 » 2024-08-06 14:20:32

是麦克风录音吗,检查一下麦克风周边电路。

还有检查一下采集的录音数据是否完整,如果丢了一些数据可能也会有杂音。

#39 Re: 全志 SOC » 哪一个是最新的BuildRoot合适F1C100s? » 2024-08-06 11:50:30

可能是编译环境的问题,我这边用Ubuntu18.04 编译 aodzip/buildroot-tiny200 正常。

#40 Re: 全志 SOC » f1c100s如何设置root开机免密自动登陆 » 2024-08-05 18:19:21

晕哥 说:

https://whycan.cn/t_542.html#p12585




找到 /etc/inittab 文件的

console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL

修改为:

console::respawn:-/bin/sh

重启后就没有恼人的 login 提示了.

这里有个问题,会导致没有加载用户配置,没有$HOME 环境变量。

改成这样:
console::respawn:/bin/login -f root

解决$HOME环境变量问题。

# export
export EDITOR='/bin/vi'
export HOME='/root'
export LOGNAME='root'
export PATH='/bin:/sbin:/usr/bin:/usr/sbin'
export PS1='# '
export PWD='/root'
export SHELL='/bin/sh'
export SHLVL='1'
export TERM='vt102'
export USER='root'
#

#41 Re: 全志 SOC » 有没有在全志 V3s下用过Spi nand flash的朋友? » 2024-08-04 16:30:53

hdlazyhy 说:

我的开发板上就是这个nand flash芯片。是不是需要在sunxi-tools中添加支持。正好找到这。

xfel 支持spi nand读写

#42 Re: 全志 SOC » 请教V3S驱动1024分辨率屏的问题 » 2024-08-04 15:42:08

可能在 uboot 里面有个显存大小配置不够大,导致初始化失败

#43 Re: 全志 SOC » 荔枝派nano f1c100s开发板连接JLink调试器分享 » 2024-08-04 11:01:25

袜裤够穿吗 说:

晕哥,jlink可以固化程序到flash吗?还是只能在内存中调试呢?

单步调试必须在内存,加魔术头之后可以固化到flash,参考 mksunxi.c

#44 Re: 全志 SOC » t113i + openwrt tina » 2024-08-01 22:11:34

CPU和DDR降频排除硬件问题

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

海石生风 说:

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

有道理,不过我看了早期的uboot版本里面binman确实用的是Python2.7

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

田维龙 说:

https://whycan.com/files/members/14964/sshot-1.png
晕哥编译v3s的uboot的时候有遇到过這个问题吗?

没记错的话,binman 是一个 python2.x 版本,先检查一下 python2.7 有没有安装?或者看下 /usr/bin/python 是不是软链接到 python3.x 了?

#47 Re: 全志 SOC » 全志a133支持同时控制多个屏幕吗 » 2024-07-14 18:41:28

那可以,只要CPU,DRAM和网络带宽允许,跑多少个都不是问题。

#48 Re: 全志 SOC » 全志a133支持同时控制多个屏幕吗 » 2024-07-14 18:00:48

A133只支持一个显示屏

D1-H,H133 支持一个HDMI(或CVBS) + 一个LCD
D1s,T113-S3,T113-S4,T113-i 支持一个 CVBS + 一个LCD

#49 Re: 硬件设计 KiCAD/Protel/DXP/PADS/ORCAD/EAGLE » 发帖挣几个积分 » 2024-07-07 10:24:28

正常发帖回帖的朋友都不会有这个困扰,后台一堆垃圾贴看到都头疼。

#50 Re: 全志 SOC » 请问有没有10元左右,带2个usb host接口的芯片 » 2024-07-04 21:45:16

如果全志找不到,其他家找更难了,加个hub芯片扩?

#51 Re: 全志 SOC » 求一份xr829 tina sdk 3.10内核的驱动 » 2024-06-30 18:24:19

从 linux3.4 里面复制过去试一试:

lichee/linux-3.4/drivers/net/wireless/xr829

#53 Re: 全志 SOC » D1s调试lvds,求解? » 2024-06-27 16:46:42

参考这个帖子:d1 lvds dual

首先在dts中配置lvds1的gpio,大致是下面这样的

			lvds1_pins_a: lvds1@0 {
				pins  = "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19";
				function = "lvds1";
				drive-strength = <30>;
				bias-disable;
			};

			lvds1_pins_b: lvds1@1 {
				pins  = "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19";
				function = "io_disabled";
				drive-strength = <30>;
				bias-disable;
			};

然后在dts中配置dual lvds,主要是lcd_lvds_if与pinctrl-0

&lcd0 {
	lcd_used            = <1>;

	lcd_driver_name     = "default_lcd";
	lcd_backlight       = <50>;
	lcd_if              = <3>;

	lcd_x               = <640>;
	lcd_y               = <2560>;
	lcd_width           = <150>;
	lcd_height          = <94>;
	lcd_dclk_freq       = <117>;

	lcd_pwm_used        = <0>;
	lcd_pwm_ch          = <7>;
	lcd_pwm_freq        = <50000>;
	lcd_pwm_pol         = <1>;
	lcd_pwm_max_limit   = <255>;
 
	lcd_hbp             = <40>;
	lcd_ht              = <720>;
	lcd_hspw            = <20>;
	lcd_vbp             = <20>;
	lcd_vt              = <2600>;
	lcd_vspw            = <10>;
	
	lcd_lvds_if         = <1>;
	lcd_lvds_colordepth = <0>;	
	lcd_lvds_mode       = <0>;
	lcd_frm             = <0>;
	lcd_hv_clk_phase    = <0>;
	lcd_hv_sync_polarity= <0>;
	lcd_gamma_en        = <0>;
	lcd_bright_curve_en = <0>;
	lcd_cmap_en         = <0>;

	deu_mode            = <0>;
	lcdgamma4iep        = <22>;
	smart_color         = <90>;
	
        pinctrl-0 = <&lvds0_pins_a &lvds1_pins_a>;
        pinctrl-1 = <&lvds0_pins_b &lvds1_pins_b>;	
  
};

把20条腿都复用为LVDS:
        pinctrl-0 = <&lvds0_pins_a &lvds1_pins_a>;


驱动配置为双8:
    lcd_lvds_if         = <1>;

Linux启动后查看引脚复用状态:

# cat /sys/kernel/debug/pinctrl/pio/pinmux-pins
Pinmux settings per pin
Format: pin (name): mux_owner|gpio_owner (strict) hog?
pin 32 (PB0): device 2502800.twi function gpio_in group PB0
pin 33 (PB1): device 2502800.twi function gpio_in group PB1
pin 34 (PB2): UNCLAIMED
pin 35 (PB3): UNCLAIMED
pin 36 (PB4): UNCLAIMED
pin 37 (PB5): UNCLAIMED
pin 38 (PB6): UNCLAIMED
pin 39 (PB7): UNCLAIMED
pin 40 (PB8): device 2500000.uart function uart0 group PB8
pin 41 (PB9): device 2500000.uart function uart0 group PB9
pin 42 (PB10): GPIO pio:42
pin 43 (PB11): GPIO pio:43
pin 44 (PB12): GPIO pio:44
pin 64 (PC0): device 2008000.ledc function ledc group PC0
pin 65 (PC1): UNCLAIMED
pin 66 (PC2): device 4025000.spi function spi0 group PC2
pin 67 (PC3): device 4025000.spi function spi0 group PC3
pin 68 (PC4): device 4025000.spi function spi0 group PC4
pin 69 (PC5): device 4025000.spi function spi0 group PC5
pin 70 (PC6): device 4025000.spi function spi0 group PC6
pin 71 (PC7): device 4025000.spi function spi0 group PC7
pin 96 (PD0): UNCLAIMED
pin 97 (PD1): UNCLAIMED
pin 98 (PD2): UNCLAIMED
pin 99 (PD3): UNCLAIMED
pin 100 (PD4): UNCLAIMED
pin 101 (PD5): UNCLAIMED
pin 102 (PD6): UNCLAIMED
pin 103 (PD7): UNCLAIMED
pin 104 (PD8): UNCLAIMED
pin 105 (PD9): UNCLAIMED
pin 106 (PD10): UNCLAIMED
pin 107 (PD11): UNCLAIMED
pin 108 (PD12): UNCLAIMED
pin 109 (PD13): UNCLAIMED
pin 110 (PD14): UNCLAIMED
pin 111 (PD15): UNCLAIMED
pin 112 (PD16): UNCLAIMED
pin 113 (PD17): UNCLAIMED
pin 114 (PD18): UNCLAIMED
pin 115 (PD19): UNCLAIMED
pin 116 (PD20): UNCLAIMED
pin 117 (PD21): UNCLAIMED
pin 118 (PD22): UNCLAIMED
pin 128 (PE0): device 4500000.eth function gmac0 group PE0
pin 129 (PE1): device 4500000.eth function gmac0 group PE1
pin 130 (PE2): device 4500000.eth function gmac0 group PE2
pin 131 (PE3): device 4500000.eth function gmac0 group PE3
pin 132 (PE4): device 4500000.eth function gmac0 group PE4
pin 133 (PE5): device 4500000.eth function gmac0 group PE5
pin 134 (PE6): device 4500000.eth function gmac0 group PE6
pin 135 (PE7): device 4500000.eth function gmac0 group PE7
pin 136 (PE8): device 4500000.eth function gmac0 group PE8
pin 137 (PE9): device 4500000.eth function gmac0 group PE9
pin 138 (PE10): device 4500000.eth function gmac0 group PE10
pin 139 (PE11): device 4500000.eth function gmac0 group PE11
pin 140 (PE12): device 4500000.eth function gmac0 group PE12
pin 141 (PE13): device 4500000.eth function gmac0 group PE13
pin 142 (PE14): device 4500000.eth function gmac0 group PE14
pin 143 (PE15): device 4500000.eth function gmac0 group PE15
pin 144 (PE16): GPIO pio:144
pin 145 (PE17): UNCLAIMED
pin 160 (PF0): device 4020000.sdmmc function sdc0 group PF0
pin 161 (PF1): device 4020000.sdmmc function sdc0 group PF1
pin 162 (PF2): device 4020000.sdmmc function sdc0 group PF2
pin 163 (PF3): device 4020000.sdmmc function sdc0 group PF3
pin 164 (PF4): device 4020000.sdmmc function sdc0 group PF4
pin 165 (PF5): device 4020000.sdmmc function sdc0 group PF5
pin 166 (PF6): GPIO pio:166
pin 192 (PG0): device 4021000.sdmmc function sdc1 group PG0
pin 193 (PG1): device 4021000.sdmmc function sdc1 group PG1
pin 194 (PG2): device 4021000.sdmmc function sdc1 group PG2
pin 195 (PG3): device 4021000.sdmmc function sdc1 group PG3
pin 196 (PG4): device 4021000.sdmmc function sdc1 group PG4
pin 197 (PG5): device 4021000.sdmmc function sdc1 group PG5
pin 198 (PG6): device 2500400.uart function uart1 group PG6
pin 199 (PG7): device 2500400.uart function uart1 group PG7
pin 200 (PG8): device 2500400.uart function uart1 group PG8
pin 201 (PG9): device 2500400.uart function uart1 group PG9
pin 202 (PG10): GPIO pio:202
pin 203 (PG11): device soc@3000000:rfkill@0 function clk_fanout1 group PG11
pin 204 (PG12): GPIO pio:204
pin 205 (PG13): UNCLAIMED
pin 206 (PG14): UNCLAIMED
pin 207 (PG15): GPIO pio:207
pin 208 (PG16): GPIO pio:208
pin 209 (PG17): GPIO pio:209
pin 210 (PG18): GPIO pio:210

如果文件/sys/kernel/debug/pinctrl/pio/pinmux-pins不存在,先执行这个命令:

mount -t debugfs none /sys/kernel/debug;

#54 Re: 全志 SOC » D1s调试lvds,求解? » 2024-06-27 15:55:11

找一下哪个文件参与编译 find . -name pinctrl-sun*.o

然后直接那个 .c 文件

#55 Re: 全志 SOC » 全志v3s的dts怎么配置pwm0,让其管脚PB4在系统初始化阶段不是3.3v高电平 » 2024-06-27 10:13:03

游侠TT 说:
晕哥 说:

uboot初始化成 gpio低电平,进linux配置成pwm

昨天已经试过了,屏蔽了linux的pwm,pwm0的管脚PB4可以正常被Uboot设置成高或者低电平,设置成低后再加上linux的pwm,立马就变高了

所以建议你改V3s 的 pwm 驱动,先把pwm寄存器值读出来,然后再写回去,或者可以用别的方法避免再次初始化。

#57 Re: RK3288/RK3399/RK1108 » [RK3188] kernel 卡死,请各位给点分析问题的意见? » 2024-06-26 11:35:15

如果没有任何日志输出就死了,考虑一下硬件问题,给CPU/DDR降频降温试一试。

#58 Re: 全志 SOC » t113-s3的tina linux如何配置及编译sdk自带的qt? » 2024-06-25 11:40:17

arychen 说:

如果只用来解码放视频,能不用QT吗

可以不用

#59 Re: 全志 SOC » t113-s3的tina linux如何配置及编译sdk自带的qt? » 2024-06-25 10:11:02

lch922 说:
暗水天狼 说:

有朋友测试过Wayland吗?

这颗芯片不带GPU,wayland可以开启硬件加速吗?

只能g2d加速

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

Gentlepig 说:
晕哥 说:

建议用日志型(ext4,jffs2...)的文件系统,按时间段分文件存储。

如果没有后备电池和断电检测,做好最后一个文件阵亡的心理准备。

我这不是linux系统啊,是rtt,目前看sdk里默认打开了fatfs和littlefs。

那建议优先使用Littlefs文件系统,按时间段分文件存储。

LittleFS 是一种日志结构化的文件系统。它结合了日志结构(log-structured)文件系统和Copy-on-Write (COW)文件系统的特点。在日志结构的文件系统中,新的数据总是被写入到空闲或新分配的空间中,而不是直接覆盖旧的数据,这有助于减少对闪存介质的磨损并提供更好的掉电恢复能力。

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

建议用日志型(ext4,jffs2...)的文件系统,按时间段分文件存储。

如果没有后备电池和断电检测,做好最后一个文件阵亡的心理准备。

#63 Re: 全志 SOC » st7789v编译不通过,求助 » 2024-06-24 22:52:56

arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts:54.36-37 syntax error

语法错误

#65 Re: 全志 SOC » A33主线Linux跑起OpenGL/ES » 2024-06-19 17:10:46

wangjun110 说:

楼主,请问一下,在编译应用程序的时候-lX11,这个libx11.so的库在哪里有提供呢?

应该在 buildroot 有这个package

#66 Re: RT1050/RT10XX » 把前几年买的不能自动的JLINK V9刷成 可以自动更新的版本了. » 2024-06-17 11:02:41

liyucai 说:

我的 J-Link V9 被 segger 软件自动升级了,然后就用不了了。
有什么办法防止它去自动升级吗?

用另外一个jlink,按楼顶的办法烧回去

#68 Re: 全志 SOC » F1C100S可以软关机或者进入低功耗吗 » 2024-06-13 17:39:04

echo N > /sys/module/printk/parameters/console_suspend

echo mem > /sys/power/state

#71 Re: 全志 SOC » 全志v3s系统怎么支持中文显示 » 2024-06-08 22:04:56

是说 ls 不能显示中文目录和文件名吗?

参考这个:

T113 Busybox ls 支持中文的解决办法
https://whycan.com/t_11022.html

#72 Re: 全志 SOC » v3s官方buildroot文件系统卡在start kernerl... » 2024-06-06 10:29:43

用这个:

(V3s/V3x/S3/S3L/R11通吃)小智V3x开发板smallwitpi lite u-boot/linux/buildroot测试
https://whycan.com/t_7248.html

#73 Re: 全志 SOC » f1c100s烧写tina镜像失败 » 2024-05-29 09:21:59

先把 sys_config.fex 里面的 debug uart 改成你的调试uart

#75 Re: 全志 SOC » 模仿stm32标准库风格写的库文件(f1c100s/f1c200s),且已移植了rt-thread、lvgl、fatfs、cherryusb » 2024-05-26 20:10:09

gaoda 说:

为什么我烧录进spiflash成功,但重启后还是进入fel模式呢?flash型号是w25q128,烧录进ram能运行

烧flash和tf卡要加魔术头,本站右上角搜:mksunxi

#78 Re: 全志 SOC » 请问F1C100S 怎么配置,才可以点亮MIYOO游戏机的40PIN屏幕 » 2024-05-24 16:28:00

据说每个显示屏厂家给的初始化代码都是不一样的,所以建议用逻辑分析仪抓能点亮的屏数据,然后照着写进去就可以了。

#81 Re: 全志 SOC » 真是渣渣,T113-S3 tplayerdemo 测试播放1280x720视频,两小时就挂了 » 2024-05-17 13:34:25

改大这个初始化参数试一试: VideoConf.nVbvBufferSize

	if(Decoder->ScaleDownEn > 0){
		VideoConf.nVbvBufferSize = 1*1024*1024;
		VideoConf.bScaleDownEn = 1;
		VideoConf.nHorizonScaleDownRatio = 1;
		VideoConf.nVerticalScaleDownRatio = 1;
	}

	VideoConf.eOutputPixelFormat  = Decoder->decode_format;

    VideoConf.nDeInterlaceHoldingFrameBufferNum = GetConfigParamterInt("pic_4di_num", 2);
    VideoConf.nDisplayHoldingFrameBufferNum = GetConfigParamterInt("pic_4list_num", 3);
    VideoConf.nRotateHoldingFrameBufferNum = GetConfigParamterInt("pic_4rotate_num", 0);
    VideoConf.nDecodeSmoothFrameBufferNum = GetConfigParamterInt("pic_4smooth_num", 3);
    VideoConf.memops = Decoder->memops;
    nRet = InitializeVideoDecoder(Decoder->pVideoDec, &VideoInfo, &VideoConf);

#82 Re: 全志 SOC » F1C200S 改为电阻触摸屏 » 2024-05-10 09:11:23

wwddgod 说:

[*] 缺少匹配的标签 [/*]
发帖的时候一直报这个错误是什么意思?

用code 标签包裹就可以,这是一个bbcode解析错误信息。

#84 Re: 工业芯 匠芯创 » 5款Linux桌面环境推荐,你最爱哪个? » 2024-04-29 16:36:52

Gentlepig 说:

感觉楼主是机器人自动发帖。
搜了下楼主发的帖子,有几个明显是复制粘贴过来,原帖可能有图片,就只把文字复制过来了。

现在这个帖子,在厂家版块发了个不知所以的灌水贴。

应该是的,另外几个广告帖删了。

#85 Re: 全志 SOC » 对于V3s 和 H3 上面 Jtag 的疑问 » 2024-04-28 20:02:41

设计一片 SD NAND + JTAG(全志soc) 转接板    [切记切记0.8mm厚度]
https://whycan.com/t_2025.html

#86 Re: 全志 SOC » OOM炸了,DRAM不够,SWAP来凑 » 2024-04-24 09:52:49

dgtg 说:

请教晕哥,在C100外挂8MB nor flash的平台上也可以开启SWAP吗?

应该不行,除了速度特慢外,swap应该不支持这种分区类型。

#87 Re: 全志 SOC » Whycanpi sdk_2.1 编译T113问题 » 2024-04-23 10:36:08

--来自百度网盘超级会员V4的分享
hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取 
链接:https://pan.baidu.com/s/1tADvigD1xtOWqieJmcuPkA?pwd=awol 
提取码:awol

#88 Re: 全志 SOC » 求教 t113如何使用外置声卡如wm8960 » 2024-04-21 15:06:57

amixer 命令读出通路配置,然后对照wm8960手册设置。

最快的办法还是找一下其他开发板现成的配置

#91 Re: 全志 SOC » 荔枝派nano固件启动卡在login处的问题 » 2024-04-20 12:54:42

Rs428 说:
晕哥 说:

可能是串口的发送有问题,用自发自收测试一下看看。

大佬请教下咋测呀,是短接板子的rx和tx嘛

先测usb串口头的tx rx,短路后,用电脑串口软件发信息,看是不是能收到同样的信息。

#92 Re: 全志 SOC » 荔枝派nano固件启动卡在login处的问题 » 2024-04-20 12:31:37

可能是串口的发送有问题,用自发自收测试一下看看。

#93 Re: 全志 SOC » licheepi-nano OTG挂载RTL8188xx终于驱动起来了~ » 2024-04-19 22:17:16

检查供电和USB信号完整性,最好用稳定的开发板先测试。

#94 Re: 全志 SOC » OOM炸了,DRAM不够,SWAP来凑 » 2024-04-19 17:43:18

5O@X4S@HO$9~ETD[77K`I)O.png

malloc ok, count=146
malloc ok, count=147
malloc ok, count=148
malloc ok, count=149
malloc ok, count=150
malloc ok, count=151
malloc ok, count=152
malloc ok, count=153
[  216.137338] mem_test invoked oom-killer: gfp_mask=0x24200ca(GFP_HIGHUSER_MOVABLE), nodemask=0, order=0, oom_score_adj=0
[  216.150768] CPU: 0 PID: 1703 Comm: mem_test Not tainted 4.9.118 #183
[  216.164815] Hardware name: sun8iw8
[  216.168650] [<c010c7cc>] (unwind_backtrace) from [<c010a6f4>] (show_stack+0x10/0x14)
[  216.179140] [<c010a6f4>] (show_stack) from [<c01da458>] (dump_header.constprop.3+0x64/0x1ac)
[  216.190381] [<c01da458>] (dump_header.constprop.3) from [<c01975a4>] (oom_kill_process+0xec/0x4a8)
[  216.208704] [<c01975a4>] (oom_kill_process) from [<c0197e28>] (out_of_memory+0x348/0x3f0)
[  216.217901] [<c0197e28>] (out_of_memory) from [<c019c0ec>] (__alloc_pages_nodemask+0x950/0xa28)
[  216.234830] [<c019c0ec>] (__alloc_pages_nodemask) from [<c01ba94c>] (handle_mm_fault+0x140/0xb70)
[  216.245960] [<c01ba94c>] (handle_mm_fault) from [<c010ec34>] (do_page_fault+0x210/0x2a8)
[  216.256745] [<c010ec34>] (do_page_fault) from [<c01012d4>] (do_DataAbort+0x38/0xb8)
[  216.271863] [<c01012d4>] (do_DataAbort) from [<c010b39c>] (__dabt_usr+0x3c/0x40)
[  216.281845] Exception stack(0xc2393fb0 to 0xc2393ff8)
[  216.294763] 3fa0:                                     ad371010 00006b7f ad448028 00007fff
[  216.304956] 3fc0: 00000000 00000000 00000000 00000000 00000001 00000000 00000020 beda4e34
[  216.316019] 3fe0: ad37101c beda4df0 00000000 b6f72774 20000010 ffffffff
[  216.330038] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name
[  216.341363] [  720]     0   720      330        1       4       0        6             0 syslogd
[  216.359483] [  724]     0   724      329        1       4       0        6             0 klogd
[  216.369134] [  736]     0   736      333        1       5       0       13             0 mdev
[  216.383525] [  780]     0   780     1657       11       7       0      754             0 haveged
[  216.395798] [  786]  1001   786      331        0       4       0       18             0 dbus-daemon
[  216.407732] [  792]     0   792     1110       27       6       0       81             0 ntpd
[  216.424769] [  805]     0   805      223        1       4       0        9             0 dropbear
[  216.435459] [  808]     0   808   168315       19       8       0      211             0 allxbee
[  216.446949] [  812]     0   812   167906       32       7       0      313             0 iotWatchdog
[  216.464755] [  952]     0   952      332        1       4       0       10             0 sh
[  216.474740] [ 1616]     0  1616      329        1       3       0        6             0 udhcpc
[  216.486136] [ 1703]     0  1703    40009     8503      82       0    31313             0 mem_test
[  216.502559] Out of memory: Kill process 1703 (mem_test) score 836 or sacrifice child
[  216.512924] Killed process 1703 (mem_test) total-vm:160036kB, anon-rss:33956kB, file-rss:56kB, shmem-rss:0kB
[  216.602368] oom_reaper: reaped process 1703 (mem_test), now anon-rss:4kB, file-rss:0kB, shmem-rss:0kB
Killed
# bg
-sh: bg: No current job
#
#
# free
              total        used        free      shared  buff/cache   available
Mem:          53960       12648       21936           8       19376       37272
Swap:        131068        5320      125748
#

V3s可以申请到153M 内存

#95 Re: 全志 SOC » OOM炸了,DRAM不够,SWAP来凑 » 2024-04-19 11:19:04

已经判断了指针是否为NULL,这个做法是应用程序普遍的处理方式

内存分配器返回非空才是成功,否则就是操作野指针了

即便这样应用还是会被杀。

系统物理内存不够了,或交换内存也不够了。

那如何编写有护栏的应用呢?

护栏是指没有判断参数个数,随便写段测试代码。


要求即便内存oom发生,应用程序也不会被杀。

恐怕不行吧,这不成了无源之水了?

请教晕哥。

不敢当,边学边卖弄。

#96 全志 SOC » OOM炸了,DRAM不够,SWAP来凑 » 2024-04-19 06:49:16

晕哥
回复: 6

刚刚开机,没有swap:

|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrt!
 ----------------------------------------------
 Tina Linux (5.0, r0-6ada511)
 ----------------------------------------------
nodev   debugfs
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# free
              total        used        free      shared  buff/cache   available
Mem:         233780       15596      210488           0        7696      211804
Swap:             0           0           0
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#

编译一个没有护栏的测试程序,每次动态申请1M内存,第二个参数是申请次数:

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

void main(int argc, char* argv[])
{
        static int count = 0;
        int times = atoi(argv[1]);

        for(int i =0; i<times; i++)
        {
                void* ptr = malloc(1*1024*1024);

                if(ptr == NULL)
                {
                        printf("malloc error");
                }
                else
                {
                        memset(ptr, 0, 1*1024*1024);
                        printf("malloc ok, count=%3d\n", count++);
                }
        }

        while (1)
        {
                printf("sleep\n");
                usleep(1000*1000);
        }
}



申请大约200M内存的时候挂了:

root@TinaLinux:/#
root@TinaLinux:/# free
              total        used        free      shared  buff/cache   available
Mem:         233780       15788      204344        5948       13648      205664
Swap:             0           0           0
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# chmod +x /tmp/test && /tmp/test 206
malloc ok, count=0
malloc ok, count=1
... ...
malloc ok, count=197
malloc ok, count=198
malloc ok, count=199
malloc ok, count=200
[  167.228684] test invoked oom-killer: gfp_mask=0x1100cca(GFP_HIGHUSER_MOVABLE|0x1000000), order=0, oom_score_adj=0
[  167.240249] CPU: 1 PID: 1296 Comm: test Not tainted 5.4.61 #1
[  167.246694] Hardware name: Generic DT based system
[  167.252092] [<c010e318>] (unwind_backtrace) from [<c010a8dc>] (show_stack+0x10/0x14)
[  167.260798] [<c010a8dc>] (show_stack) from [<c0785f90>] (dump_stack+0x7c/0x98)
[  167.260815] [<c0785f90>] (dump_stack) from [<c0195914>] (dump_header+0x54/0x270)
[  167.277204] [<c0195914>] (dump_header) from [<c0195d88>] (oom_kill_process+0x78/0x2bc)
[  167.286088] [<c0195d88>] (oom_kill_process) from [<c019676c>] (out_of_memory+0x318/0x384)
[  167.295270] [<c019676c>] (out_of_memory) from [<c01c82e4>] (__alloc_pages_nodemask+0x758/0x9b0)
[  167.305037] [<c01c82e4>] (__alloc_pages_nodemask) from [<c01b37ac>] (alloc_zeroed_user_highpage_movable+0x14/0x3c)
[  167.316657] [<c01b37ac>] (alloc_zeroed_user_highpage_movable) from [<c01b6264>] (handle_mm_fault+0x214/0x7c0)
[  167.327787] [<c01b6264>] (handle_mm_fault) from [<c010f1ac>] (do_page_fault+0x13c/0x29c)
[  167.336872] [<c010f1ac>] (do_page_fault) from [<c010f468>] (do_DataAbort+0x34/0xb4)
[  167.345468] [<c010f468>] (do_DataAbort) from [<c010255c>] (__dabt_usr+0x3c/0x40)
[  167.353768] Exception stack(0xce1fffb0 to 0xce1ffff8)
[  167.359436] ffa0:                                     aa452008 00000000 00006000 aa54c000
[  167.368612] ffc0: 00010bd4 00010c68 00000000 00010134 00000000 00010134 00079470 bea9cb84
[  167.377793] ffe0: 00000000 bea9cb68 000104fc 00027908 20070010 ffffffff
[  167.385280] Mem-Info:
[  167.387840] active_anon:52056 inactive_anon:1486 isolated_anon:0
[  167.387840]  active_file:9 inactive_file:9 isolated_file:0
[  167.387840]  unevictable:0 dirty:0 writeback:0 unstable:0
[  167.387840]  slab_reclaimable:562 slab_unreclaimable:2552
[  167.387840]  mapped:88 shmem:1487 pagetables:139 bounce:0
[  167.387840]  free:478 free_pcp:103 free_cma:0
[  167.423747] Node 0 active_anon:208224kB inactive_anon:5944kB active_file:36kB inactive_file:36kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:352kB dirty:0kB writeback:0kB shmem:5948kB writeback_tmp:0kB unstable:0kB all_unreclaimable? yes
[  167.423767] Normal free:1912kB min:1916kB low:2392kB high:2868kB active_anon:208224kB inactive_anon:5944kB active_file:36kB inactive_file:36kB unevictable:0kB writepending:0kB present:254400kB managed:233780kB mlocked:0kB kernel_stack:560kB pagetables:556kB bounce:0kB free_pcp:412kB local_pcp:112kB free_cma:0kB
[  167.479940] lowmem_reserve[]: 0 0
[  167.479952] Normal: 14*4kB (UM) 12*8kB (UM) 2*16kB (UE) 0*32kB 1*64kB (M) 1*128kB (M) 2*256kB (ME) 0*512kB 1*1024kB (M) 0*2048kB 0*4096kB = 1912kB
[  167.498408] Free pages count per migrate typeat order:     0      1      2      3      4      5      6      7      8      9     10
[  167.511744] zone   Normal, type    Unmovable     13     11      1      0      0      0      0      0      0      0      0
[  167.524168] zone   Normal, type      Movable      1      1      0      0      1      1      1      0      1      0      0
[  167.536584] zone   Normal, type  Reclaimable      0      0      1      0      0      0      1      0      0      0      0
[  167.549007] zone   Normal, type          CMA      0      0      0      0      0      0      0      0      0      0      0
[  167.561421] zone   Normal, type   HighAtomic      0      0      0      0      0      0      0      0      0      0      0
[  167.573839] zone   Normal, type      Isolate      0      0      0      0      0      0      0      0      0      0      0
[  167.586255] 1501 total pagecache pages
[  167.590458] 0 pages in swap cache
[  167.594173] Swap cache stats: add 0, delete 0, find 0/0
[  167.600066] Free swap  = 0kB
[  167.603293] Total swap = 0kB
[  167.606533] 63600 pages RAM
[  167.609661] 0 pages HighMem/MovableOnly
[  167.613957] 5155 pages reserved
[  167.617487] 2048 pages cma reserved
[  167.621396] Tasks state (memory values in pages):
[  167.626678] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes swapents oom_score_adj name
[  167.636364] [   1211]     0  1211     9461       49    18432        0             0 adbd
[  167.645462] [   1254]     0  1254      782       31    10240        0             0 sh
[  167.645472] [   1255]     0  1255      751       27    10240        0             0 init
[  167.663433] [   1256]     0  1256      751       27    10240        0             0 init
[  167.672521] [   1257]     0  1257      751       27    10240        0             0 init
[  167.681611] [   1296]     0  1296    52073    51958   215040        0             0 test
[  167.690698] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),task=test,pid=1296,uid=0
[  167.699814] Out of memory: Killed process 1296 (test) total-vm:208292kB, anon-rss:207480kB, file-rss:0kB, shmem-rss:352kB, UID:0 pgtables:210kB oom_score_adj:0
[  167.766642] oom_reaper: reaped process 1296 (test), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
Killed
root@TinaLinux:/#

下面开启交换分区:

mkswap /dev/by-name/swapper && swapon /dev/by-name/swapper 

开启完成:

root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# mkswap /dev/by-name/swapper && swapon /dev/by-name/swapper
Setting up swapspace version 1, size = 536866816 bytes
[  317.944647] Adding 524284k swap on /dev/by-name/swapper.  Priority:-2 extents:1 across:524284k SS
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#

测试申请700M,系统正常:

malloc ok, count=0
malloc ok, count=1
... ...
malloc ok, count=691
malloc ok, count=692
malloc ok, count=693
malloc ok, count=694
malloc ok, count=695
malloc ok, count=696
malloc ok, count=697
malloc ok, count=698
malloc ok, count=699
sleep
sleep
sleep

free命令看下内存占用:

root@TinaLinux:/# free
              total        used        free      shared  buff/cache   available
Mem:         233780      221724        6532          92        5524        6400
Swap:        524284      524284           0

申请703M的时候,OOM炸了:

root@TinaLinux:/#
root@TinaLinux:/# chmod +x /tmp/test && /tmp/test 720
malloc ok, count=0
malloc ok, count=1
... ...
malloc ok, count=701
malloc ok, count=702
[24017.015074] test invoked oom-killer: gfp_mask=0x1100cca(GFP_HIGHUSER_MOVABLE|0x1000000), order=0, oom_score_adj=0
[24017.026721] CPU: 1 PID: 1412 Comm: test Not tainted 5.4.61 #1
[24017.033176] Hardware name: Generic DT based system
[24017.033206] [<c010e318>] (unwind_backtrace) from [<c010a8dc>] (show_stack+0x10/0x14)
[24017.033221] [<c010a8dc>] (show_stack) from [<c0785f90>] (dump_stack+0x7c/0x98)
[24017.033237] [<c0785f90>] (dump_stack) from [<c0195914>] (dump_header+0x54/0x270)
[24017.033250] [<c0195914>] (dump_header) from [<c0195d88>] (oom_kill_process+0x78/0x2bc)
[24017.033262] [<c0195d88>] (oom_kill_process) from [<c019676c>] (out_of_memory+0x318/0x384)
[24017.033277] [<c019676c>] (out_of_memory) from [<c01c82e4>] (__alloc_pages_nodemask+0x758/0x9b0)
[24017.033292] [<c01c82e4>] (__alloc_pages_nodemask) from [<c01b37ac>] (alloc_zeroed_user_highpage_movable+0x14/0x3c)
[24017.033305] [<c01b37ac>] (alloc_zeroed_user_highpage_movable) from [<c01b6264>] (handle_mm_fault+0x214/0x7c0)
[24017.033318] [<c01b6264>] (handle_mm_fault) from [<c010f1ac>] (do_page_fault+0x13c/0x29c)
[24017.033332] [<c010f1ac>] (do_page_fault) from [<c010f468>] (do_DataAbort+0x34/0xb4)
[24017.033344] [<c010f468>] (do_DataAbort) from [<c010255c>] (__dabt_usr+0x3c/0x40)
[24017.033349] Exception stack(0xce22ffb0 to 0xce22fff8)
[24017.033358] ffa0:                                     8ac74008 00000000 00007000 8ad6d000
[24017.033368] ffc0: 00010bd4 00010c68 00000000 00010134 00000000 00010134 00079470 beef1b84
[24017.033377] ffe0: 00000000 beef1b68 000104fc 00027908 20070010 ffffffff
[24017.033381] Mem-Info:
[24017.033398] active_anon:25811 inactive_anon:25853 isolated_anon:0
[24017.033398]  active_file:6 inactive_file:4 isolated_file:0
[24017.033398]  unevictable:0 dirty:0 writeback:127 unstable:0
[24017.033398]  slab_reclaimable:628 slab_unreclaimable:3241
[24017.033398]  mapped:19 shmem:19 pagetables:399 bounce:0
[24017.033398]  free:1366 free_pcp:0 free_cma:0
[24017.033412] Node 0 active_anon:103244kB inactive_anon:103412kB active_file:24kB inactive_file:16kB unevictable:0kB isolated(anon):0kB isolated(file):0kB map                                                                    ped:76kB dirty:0kB writeback:508kB shmem:76kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no
[24017.033428] Normal free:5464kB min:1916kB low:2392kB high:2868kB active_anon:103300kB inactive_anon:103328kB active_file:24kB inactive_file:16kB unevictable                                                                    :0kB writepending:488kB present:254400kB managed:233780kB mlocked:0kB kernel_stack:536kB pagetables:1596kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[24017.033431] lowmem_reserve[]: 0 0
[24017.033438] Normal: 199*4kB (UME) 141*8kB (UME) 85*16kB (UME) 37*32kB (ME) 16*64kB (ME) 1*128kB (M) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 5620kB
[24017.033474] Free pages count per migrate typeat order:     0      1      2      3      4      5      6      7      8      9     10
[24017.033496] zone   Normal, type    Unmovable     61     34      8      0      0      0      0      0      0      0      0
[24017.033531] zone   Normal, type      Movable     98     82     60     25     13      1      0      0      0      0      0
[24017.033580] zone   Normal, type  Reclaimable     40     25     17     12      3      0      0      0      0      0      0
[24017.033612] zone   Normal, type          CMA      0      0      0      0      0      0      0      0      0      0      0
[24017.033632] zone   Normal, type   HighAtomic      0      0      0      0      0      0      0      0      0      0      0
[24017.033652] zone   Normal, type      Isolate      0      0      0      0      0      0      0      0      0      0      0
[24017.033671] 178 total pagecache pages
[24017.033678] 146 pages in swap cache
[24017.033683] Swap cache stats: add 424365, delete 424256, find 343/587
[24017.033686] Free swap  = 0kB
[24017.033689] Total swap = 524284kB
[24017.033693] 63600 pages RAM
[24017.033696] 0 pages HighMem/MovableOnly
[24017.033699] 5155 pages reserved
[24017.033702] 2048 pages cma reserved
[24017.033705] Tasks state (memory values in pages):
[24017.033708] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes swapents oom_score_adj name
[24017.033730] [   1211]     0  1211    11510        0    24576       77             0 adbd
[24017.033738] [   1254]     0  1254      782        0    10240       36             0 sh
[24017.033747] [   1255]     0  1255      751        0    10240       27             0 init
[24017.033755] [   1256]     0  1256      751        0    10240       27             0 init
[24017.033764] [   1257]     0  1257      751        0    10240       27             0 init
[24017.033772] [   1277]     0  1277      782        0    10240       40             0 sh
[24017.033781] [   1412]     0  1412   181087    51492   731136   129420             0 test
[24017.033787] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),task=test,pid=1412,uid=0
[24017.033813] Out of memory: Killed process 1412 (test) total-vm:724348kB, anon-rss:205892kB, file-rss:0kB, shmem-rss:76kB, UID:0 pgtables:714kB oom_score_adj                                                                    :0
[24017.260905] oom_reaper: reaped process 1412 (test), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
Killed
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#

#97 Re: 全志 SOC » 分享t113-s3 iar裸机工程代码,实现定时器和gpio读写和中断,有兴趣的朋友开源逐步完善其他外设功能 » 2024-04-18 13:26:21

lyy 说:

@jxmlegend  这个xfel怎么编译,我现在板上的SPINAND flash的ID在这个xfel-v1.3.2里面没有,我在文件里加上了我的SPINAND flash的ID,但是不知道该怎么编译代码生成exe

用 MSVC2017 编译 XFEL 项目
https://whycan.com/t_6660.html

#100 Re: 全志 SOC » Debian 9.9 (stretch) 文件系统制作 » 2024-04-15 15:00:05

richardsu 说:

@晕哥

rootfs
debian9.9.rootfs.gz 打包完了, 怎么打成img?  我按照网上找的教程打包, phoenixsuit 说固件文件版本太低, 格式被破坏

或者怎么直接刷到rootfs中, 我现在的系统是buildroot, rootfs是1G

这个只是文件系统,做成原来打包方式里面的根文件系统格式,原来是squashfs就得是squashfs,原来是ext4就得打包成ext4。

然后再用原来的打包方式打包。

#101 Re: 全志 SOC » 在f1c100s上跑MySQL5.1.73 移植记录 » 2024-04-09 13:17:59

@lmnb

$ grep mysql_install_db -r /opt/buildroot/buildroot-2024-aarch64/package/
/opt/buildroot/buildroot-2024-aarch64/package/mariadb/S97mysqld:                $MYSQL_BIN/mysql_install_db --basedir=/usr \
/opt/buildroot/buildroot-2024-aarch64/package/mariadb/mysqld.service:ExecStartPre=/bin/sh -c 'test "`ls -1 /var/lib/mysql | wc -l`" != "0" ||

$ grep mysqld_safe -r /opt/buildroot/buildroot-2024-aarch64/package/
/opt/buildroot/buildroot-2024-aarch64/package/mariadb/S97mysqld:        $MYSQL_BIN/mysqld_safe --pid-file=$MYSQL_PIDFILE --user=mysql \
/opt/buildroot/buildroot-2024-aarch64/package/mariadb/mysqld.service:ExecStart=/usr/bin/mysqld_safe --log-error=/var/log/mysql/mysqld.log

MySQL的package确实没有你说的这两个,但是mariadb里面有,用buildroot 2024.02 可以试一试。

#102 Re: 全志 SOC » 在f1c100s上跑MySQL5.1.73 移植记录 » 2024-04-09 12:03:19

感谢楼主分享!

可是有个问题不明白,你都用buildroot了,为何不直接配置buildroot直接自动编译MySQL呢?

#104 Re: 全志 SOC » 请问t113的nand 刷机这样问题,可能是什么造成的? » 2024-03-31 22:09:00

name         = boot-resource
    size         = 34438


这个改成1024,如果打包失败,就再改大一倍。

#105 Re: 全志 SOC » 请问t113的nand 刷机这样问题,可能是什么造成的? » 2024-03-31 20:15:06

youkebing 说:
memory 说:

ubi volume total size is larger than mtd size.

超过大小了?

看样子是,但是不知道怎么配置

先改板级目录下的 sys_partition.fex 试一试

#106 Re: 全志 SOC » 荔枝派nano 串口无输出 » 2024-03-29 19:28:35

接USB看能否进入FEL烧录模式,如果能进入,说明没有运行程序。

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

find out/ -name libxxx.so |grep ipkg

看下能不能在 out 目录找到文件

#109 Re: 全志 SOC » adb提示No space left on device » 2024-03-15 15:25:57

子非鱼 说:
晕哥 说:

@子非鱼
为什么用adb去测试呢,直接进串口终端测试文件系统不好么?

我最终的目的就是想要把自己的写的应用程序放到板子板子上去运行,现在是上传不上去

得先解决根本问题,前面已经明确了就是文件系统大小问题。

#110 Re: 全志 SOC » adb提示No space left on device » 2024-03-15 13:39:45

@子非鱼
为什么用adb去测试呢,直接进串口终端测试文件系统不好么?

#111 Re: 全志 SOC » adb提示No space left on device » 2024-03-15 10:09:09

@子非鱼
就是 rootfs_data 空间不够,

修改 板级目录下面的 sys_partition.fex 对应rootfs_data的空间大小

#112 Re: 全志 SOC » adb提示No space left on device » 2024-03-15 09:37:52

子非鱼 说:
晕哥 说:

@子非鱼
这个是正常,还是不正常的?

这个是启动正常,但是使用adb push向板子传文件的时候提示remote No space left on device

/dev/by-name/rootfs_data
                          1.4M     24.0K      1.2M   2% /overlay
overlayfs:/overlay        1.4M     24.0K      1.2M   2% /

可能是可写分区大小不够

试一试这两个命令:

mkdir -p /opt/
touch /opt/test.txt

#113 Re: 全志 SOC » adb提示No space left on device » 2024-03-15 09:22:23

@子非鱼
这个是正常,还是不正常的?

#114 Re: 全志 SOC » adb提示No space left on device » 2024-03-15 09:01:20

子非鱼 说:

上传的时候终端上什么都没有显示,需要用什么命令查看吗?

从上电开始的串口日志。

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

aaayao 说:
晕哥 说:
aaayao 说:

请问楼主,这个是用什么版本的ubuntu编译的?

16.04,18.04,20.04都可以,其他没有验证。

好的,谢谢!目前用14.0.6编译老是出错,看来要换个系统试试了。

14确实有点老了

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

aaayao 说:

请问楼主,这个是用什么版本的ubuntu编译的?

16.04,18.04,20.04都可以,其他没有验证。

#118 Re: 全志 SOC » V3S启动uboot的时候出现这个,有人遇到过嘛 » 2024-02-27 17:28:37

mysteryli 说:
晕哥 说:

提示找不到默认环境变量文件

想起来了 好像是有这么个文件,叫啥名来着
bootcmd.agr还是什么 太久忘了

我也忘记了

#120 Re: 全志 SOC » T113-S3 LVGL独立工程 支持G2D C++/C混合编译 » 2024-02-27 16:51:47

上邪 说:

晕哥,为啥看到有新的回复,我看不到呢

两个“谢谢分享”,一个“不错,学习了”

#121 Re: 全志 SOC » 开源全志V3S 两层板PCB 支持OV7725 OV2640摄像头 » 2024-02-27 12:04:58

whycan.com 说:

这是openmv吗,我记得有个开源的openmv能用ov5640

这个用户名你不能用,重新注册一个吧。

#122 Re: 全志 SOC » 板子新加ES7202 ADC芯片做麦克风 » 2024-02-23 12:03:53

全志的开发板都带了例程,比如D1-H哪吒开发板就有


全志D1-H/D1s RISC-V(基于平头哥C906) 哪吒开发板超全资料合集
https://whycan.com/t_6440.html

#123 Re: 全志 SOC » 板子新加ES7202 ADC芯片做麦克风 » 2024-02-23 10:47:55

建议先找个简易数字麦克风测试

#124 Re: 全志 SOC » t113-s3 adbd cpu占用率45% » 2024-02-15 17:19:55

@帝国炮灰
也没有遇到,你lunch的是第几个?

#125 Re: 全志 SOC » t113-s3 adbd cpu占用率45% » 2024-02-14 20:38:32

帝国炮灰 说:
晕哥 说:
帝国炮灰 说:

@晕哥
感谢晕哥,您使用的是glibc还是musl?

都用过,但是没有发现过adb有问题。


晕哥,您使用的是procd init还是busybox init?

都用过,都没有问题

#126 Re: 全志 SOC » t113-s3 adbd cpu占用率45% » 2024-02-06 17:33:28

帝国炮灰 说:

@晕哥
感谢晕哥,您使用的是glibc还是musl?

都用过,但是没有发现过adb有问题。

#127 Re: 全志 SOC » t113-s3 adbd cpu占用率45% » 2024-02-06 17:07:15

可能是SDK问题:

_20240206170535.jpg


--来自百度网盘超级会员V4的分享
hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取 
链接: https://pan.baidu.com/s/1tADvigD1xtOWqieJmcuPkA?pwd=awol 
提取码:awol

#128 Re: 全志 SOC » t113-s3 adbd cpu占用率45% » 2024-02-06 12:16:58

确实不正常,插了USB线吗?

#129 Re: 全志 SOC » 全志平台耳机HDMI自动切换 » 2024-01-29 11:54:03

8===D 说:

大佬有啥参考案例吗

D1_Linux_AUDIOCODEC_开发指南.pdf
这里有耳机插拔检测说明

#131 Re: 全志 SOC » f1c100s 是否可以在插入tf卡的状态下从flash启动? » 2024-01-25 10:13:49

buildroot-tiny200 (F1C100/200s) 开发包近期更新内容 * 已支持DVP摄像头 *,支持SPI NAND
https://whycan.com/t_5221.html

用这个吧,基本非常完善了,一键编译出所有烧录固件。

#132 Re: 全志 SOC » 《保姆级教程》全志F1C100S/F1C200S spi-flash 启动全流程适配烧录及踩坑指南 » 2024-01-23 23:42:24

howudoingwhycan 说:

楼主,请教一下:F1C200S如何将文件从PC端传至开发板中?F1C200S好像不能联网,而且好像不支持adb命令?

支持adb,本站右上角搜一下。

#135 Re: 全志 SOC » 全志H618 固件用什么软件可以修改? » 2024-01-17 21:59:02

huaixupeng 说:
哇酷小二 说:

DragonFace V4.1.0 或者以后的版本应该可以。

我必应、谷歌、duckduckgo,全都找了,就是找不到。:(  sad

链接: https://pan.baidu.com/s/12d_495y_8UIK5p2hLBh_fA?pwd=face
提取码:face

#136 Re: 全志 SOC » f1c100s+4.3寸lcd(480x272)的tf卡固件 » 2024-01-08 17:06:32

感谢@晕哥邀请和测试,发布一个widora tiny200 480x272 5寸电阻屏TF卡固件, 开机跑 emwin,账号root,无密码
https://whycan.com/t_3206.html


分享一个 5寸的 800x480 的 f1c100s 固件, 感谢 @xm1994,   调试串口UART0 (PB8/PB9)
https://whycan.com/t_2689.html

#138 Re: 全志 SOC » 把mp4格式的h.264视频文件解码成NV12格式, 并使用VLC播放 / V3s 摄像头录制成NV12原始数据 » 2020-12-19 19:28:55

linux3.4 bsp linux 摄像头NV12格式原始视频格式数据采集源码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <getopt.h>           
#include <fcntl.h>            
#include <unistd.h>
#include <errno.h>
#include <malloc.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
 
#include <asm/types.h>        
#include <linux/videodev2.h>

#define BUF_NUM                         4
#define FRAMESINBUF                     1

struct CJ_Buffer {
        void *memory;
        int length;
};

struct CJ_Buffer *gpV4l2Buf;
 
int gMemMapLen;

int file_fd;
char *dev_name = "/dev/video0";
int fd;


int getFullSize(int * full_w, int * full_h)
{
    struct v4l2_frmsizeenum size_enum;
    size_enum.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
    size_enum.pixel_format = V4L2_PIX_FMT_NV12;
    size_enum.index = 0;
    if (-1 == ioctl(fd, VIDIOC_ENUM_FRAMESIZES, &size_enum))
    {
        perror("VIDIOC_ENUM_FRAMESIZES failed");  
        return 0;   
    }
    
    *full_w = size_enum.discrete.width;
    *full_h = size_enum.discrete.height;

        printf("getFullSize: %dx%d\n", *full_w, *full_h);
    
    return 1;
}

int tryFmtSize(int *width, int *height)
{
    int ret = -1;
    struct v4l2_format fmt;

    printf("%dx%d", *width, *height);

    memset(&fmt, 0, sizeof(fmt));
    fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
    fmt.fmt.pix.width  = *width;
    fmt.fmt.pix.height = *height;

    //fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV;
    //fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_MJPEG;
    //fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_H264;
    fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_NV12;

    fmt.fmt.pix.field = V4L2_FIELD_NONE;

    ret = ioctl(fd, VIDIOC_TRY_FMT, &fmt);
    if (ret < 0)
    {
        perror("VIDIOC_TRY_FMT failed");
        return ret;
    }

    // driver surpport this size
    *width = fmt.fmt.pix.width;
    *height = fmt.fmt.pix.height;

    return 0;
}

int setContrastValue(int value)
{
    int ret = -1;
    struct v4l2_control ctrl;

    ctrl.id = V4L2_CID_CONTRAST;
    ctrl.value = value;
    ret = ioctl(fd, VIDIOC_S_CTRL, &ctrl);
    if (ret < 0) {
        perror("VIDIOC_S_CTRL failed");
    } else {
        printf("setContrastValue ok\n");
    }

    return ret;
}
int setBrightnessValue(int value)
{
    struct v4l2_control ctrl;
    int ret = -1;

    ctrl.id = V4L2_CID_BRIGHTNESS;
    ctrl.value = value;
    ret = ioctl(fd, VIDIOC_S_CTRL, &ctrl);
    if (ret < 0) {
        perror("VIDIOC_S_CTRL failed");
    } else {
        printf("setBrightnessValue ok\n");
    }
    return ret;
}

int setSaturationValue(int value)
{
    struct v4l2_control ctrl;
    int ret = -1;

    ctrl.id = V4L2_CID_SATURATION;
    ctrl.value = value;
    ret = ioctl(fd, VIDIOC_S_CTRL, &ctrl);
    if (ret < 0) {
        perror("VIDIOC_S_CTRL failed");
    } else {
        printf("setSaturationValue ok\n");
    }
    return ret;
}

int setSharpnessValue(int value)
{
    struct v4l2_control ctrl;
    int ret = -1;

    ctrl.id = V4L2_CID_SHARPNESS;
    ctrl.value = value;
    ret = ioctl(fd, VIDIOC_S_CTRL, &ctrl);
    if (ret < 0) {
        perror("VIDIOC_S_CTRL failed");
    } else {
        printf("setSharpnessValue ok\n");
    }
    return ret;
}

int setHueValue(int value)
{
    struct v4l2_control ctrl;
    int ret = -1;

    ctrl.id = V4L2_CID_HUE;
    ctrl.value = value;
    ret = ioctl(fd, VIDIOC_S_CTRL, &ctrl);
    if (ret < 0) {
        perror("VIDIOC_S_CTRL failed");
    } else {
        printf("setHueValue ok\n");
    }

    return ret;
}

int setHflip(int value)
{
    struct v4l2_control ctrl;
    int ret = -1;
    
    ctrl.id = V4L2_CID_HFLIP_THUMB;
    ctrl.value = value;
    printf("V4L2CameraDevice::setHflip value=%d\n", value);
    ret = ioctl(fd, VIDIOC_S_CTRL, &ctrl);
    if (ret < 0)
    {
        //setSharpnessValue failed
        perror("setHflip thumb failed\n");
    }
    ctrl.id = V4L2_CID_HFLIP;
    ctrl.value = value;
    printf("V4L2CameraDevice::setHflip value=%d\n", value);
    ret = ioctl(fd, VIDIOC_S_CTRL, &ctrl);
    if (ret < 0)
    {
        //setSharpnessValue failed
        perror("setHflip failed\n");
    }
    return ret;
}

int setVflip(int value)
{
    struct v4l2_control ctrl;
    int ret = -1;
    
    ctrl.id = V4L2_CID_VFLIP_THUMB;
    ctrl.value = value;
    printf("V4L2CameraDevice::setVflip value=%d\n", value);
    ret = ioctl(fd, VIDIOC_S_CTRL, &ctrl);
    if (ret < 0)
    {
        //setSharpnessValue failed
        perror("setVflip thumb failed111\n");
    }
    ctrl.id = V4L2_CID_VFLIP;
    ctrl.value = value;
    printf("V4L2CameraDevice::setVflip value=%d\n", value);
    ret = ioctl(fd, VIDIOC_S_CTRL, &ctrl);
    if (ret < 0)
    {
        //setSharpnessValue failed
        perror("setVflip failed111\n");
    }

    return ret;
}

int v4l2setCaptureParams(int framerate)
{
    printf("framerate=%d", framerate);
    int ret = -1;
    
    struct v4l2_streamparm params;
    params.parm.capture.timeperframe.numerator = 1;
    params.parm.capture.timeperframe.denominator = framerate;
    params.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
    params.parm.capture.capturemode = V4L2_MODE_VIDEO;

    printf("VIDIOC_S_PARM mFrameRate: %d, capture mode: %d\n", framerate, params.parm.capture.capturemode);

    ret = ioctl(fd, VIDIOC_S_PARM, &params);
    if (ret < 0) {
        perror("VIDIOC_S_PARM failed");
    } else {
        printf("v4l2setCaptureParams ok\n");
    }

    return ret;
}

void v4l2SetVideoParams(int width, int height, int sub_w, int sub_h, unsigned int pix_fmt)
{
    struct v4l2_format format;

    printf("main:%dx%d, sub:%dx%d, pfmt: 0x%x\n", width, height, sub_w, sub_h, pix_fmt);
    memset(&format, 0, sizeof(format));
    format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
    format.fmt.pix.width  = width;
    format.fmt.pix.height = height;
    //format.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV;
    //format.fmt.pix.pixelformat = V4L2_PIX_FMT_MJPEG;
    //format.fmt.pix.pixelformat = V4L2_PIX_FMT_H264;
    format.fmt.pix.pixelformat = V4L2_PIX_FMT_NV12;
    format.fmt.pix.field = V4L2_FIELD_NONE;

    if ((sub_w > 0 && sub_w < width) && (sub_h > 0 && sub_h < height)) {
        struct v4l2_pix_format sub_fmt;
        memset(&sub_fmt, 0, sizeof(sub_fmt));
        format.fmt.pix.subchannel = &sub_fmt;
        format.fmt.pix.subchannel->width = sub_w;
        format.fmt.pix.subchannel->height = sub_h;
        format.fmt.pix.subchannel->pixelformat = pix_fmt;
        format.fmt.pix.subchannel->field = V4L2_FIELD_NONE;
        format.fmt.pix.subchannel->rot_angle = 0;
        printf("sub_w=%d, sub_h=%d\n", sub_w, sub_h);
    }

    if (ioctl(fd, VIDIOC_S_FMT, &format) < 0)
    {
        perror("VIDIOC_S_FMT failed");
        return;
    }

    return;
}

void initV4l2Buffer()
{
    gpV4l2Buf = (struct CJ_Buffer *)malloc(sizeof(struct CJ_Buffer) * BUF_NUM);
    if (gpV4l2Buf == NULL) {
        perror("alloc V4l2Buffer_tag error!!");
        return;
    }
    memset(gpV4l2Buf, 0, sizeof(struct CJ_Buffer) * BUF_NUM);
}

void setFramesInV4L2BufNum()
{
        unsigned int nFramesInBuf = FRAMESINBUF;
    printf("mFramesInV4l2buf=%u\n", FRAMESINBUF);
    if (ioctl (fd, VIDIOC_SET_NFRAME_BUF, &nFramesInBuf) < 0) {
        perror("VIDIOC_SET_NFRAME_BUF failed");
    }
}

int v4l2ReqBufs(int * buf_cnt)
{
    int ret = 0;
    struct v4l2_requestbuffers rb;

    printf("TO VIDIOC_REQBUFS count: %d\n", *buf_cnt);

    memset(&rb, 0, sizeof(rb));
    rb.type   = V4L2_BUF_TYPE_VIDEO_CAPTURE;
    rb.memory = V4L2_MEMORY_MMAP;
    rb.count  = *buf_cnt;

    ret = ioctl(fd, VIDIOC_REQBUFS, &rb);
    if (ret < 0)
    {
        perror("VIDIOC_REQBUFS failed");
        return ret;
    }

    *buf_cnt = rb.count;
    printf("VIDIOC_REQBUFS count: %d\n", *buf_cnt);

    return 1;
}

int v4l2QueryBuf()
{
        int i;
    int ret = 0;
    struct v4l2_buffer buf;

    for (i = 0; i < BUF_NUM; i++)
    {
        memset (&buf, 0, sizeof (struct v4l2_buffer));
        buf.type   = V4L2_BUF_TYPE_VIDEO_CAPTURE;
        buf.memory = V4L2_MEMORY_MMAP;
        buf.index  = i;

        ret = ioctl (fd, VIDIOC_QUERYBUF, &buf);
        if (ret < 0)
        {
            perror("VIDIOC_QUERYBUF failed");
            return ret;
        }

        gpV4l2Buf[i].memory = mmap(0, buf.length,
                                PROT_READ | PROT_WRITE, 
                                MAP_SHARED, 
                                fd, 
                                buf.m.offset);

                gMemMapLen = buf.length;
        printf("index: %d, mem: %x, len: %d, offset: %x\n", i, (int)gpV4l2Buf[i].memory, buf.length, buf.m.offset);
 
        if (gpV4l2Buf[i].memory == MAP_FAILED)
        {
            perror("mmap failed");
            return -1;
        }
        }

    for (i = 0; i < BUF_NUM; i++)
    {
        memset (&buf, 0, sizeof (struct v4l2_buffer));
        buf.type   = V4L2_BUF_TYPE_VIDEO_CAPTURE;
        buf.memory = V4L2_MEMORY_MMAP;
        buf.index  = i;
        // start with all buffers in queue
        ret = ioctl(fd, VIDIOC_QBUF, &buf);
        if (ret < 0)
        {
            perror("VIDIOC_QBUF failed");
            return ret;
        }
    }

    return 1;
}

int v4l2StartStreaming()
{
    int ret = 0;
    enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE;

    ret = ioctl (fd, VIDIOC_STREAMON, &type);
    if (ret < 0)
    {
        perror("VIDIOC_STREAMON failed");
        return ret;
    }

    return 1;
}

int v4l2StopStreaming()
{
    int ret = 0;
    enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE;

    ret = ioctl (fd, VIDIOC_STREAMOFF, &type);
    if (ret < 0)
    {
        perror("VIDIOC_STREAMOFF failed");
        return ret;
    }
    printf("V4L2Camera::v4l2StopStreaming ok\n");

    return 1;
}

int v4l2UnmapBuf()
{
        int i;
    int ret = 0;

    for (i = 0; i < BUF_NUM; i++)
    {
        ret = munmap(gpV4l2Buf[i].memory, gMemMapLen);
        if (ret < 0)
        {
            perror("munmap failed");
            return ret;
        }

        gpV4l2Buf[i].memory = NULL;
    }

    return 1;
}

int main (int argc,char ** argv)
{
        struct v4l2_capability cap;
        struct v4l2_format fmt;
        struct v4l2_pix_format sub_fmt;
        struct v4l2_requestbuffers req;
        struct v4l2_buffer buf; 
    struct v4l2_input inp;
        unsigned int i;
        enum v4l2_buf_type type;
        
        int width, height;
     
     
        fd = open(dev_name, O_RDWR | O_NONBLOCK, 0);

        ioctl (fd, VIDIOC_QUERYCAP, &cap);
        printf("Driver Name:%s\n Card Name:%s\n Bus info:%s\n\n", cap.driver, cap.card, cap.bus_info);
        printf("capabilities:%d\n", cap.capabilities);
        
    if ((cap.capabilities & V4L2_CAP_VIDEO_CAPTURE) == 0 &&
                (cap.capabilities & V4L2_CAP_STREAMING) == 0) 
    {
        perror("cap capabilities format fail");  
        return -2 ;   
    }


    inp.index = 0;
    if (-1 == ioctl(fd, VIDIOC_S_INPUT, &inp))
    {
        perror("VIDIOC_S_INPUT error!");  
        return -2 ;   
    }
        
        getFullSize(&width, &height);
        
        width = 640; height = 480;
        /*tryFmtSize(&width, &height);
        setContrastValue(50);
        setBrightnessValue(50);
        setSaturationValue(0);
        setSharpnessValue(10);
        setHueValue(30);
        setHflip(0);
        setVflip(0);*/
        
        v4l2setCaptureParams(30);
        v4l2SetVideoParams(640, 480, 320, 240, V4L2_PIX_FMT_NV12);
        
        initV4l2Buffer();
        setFramesInV4L2BufNum();

    int buf_cnt = BUF_NUM;
    v4l2ReqBufs(&buf_cnt);
        
        v4l2QueryBuf();
        v4l2StartStreaming();
        
        //for (i = 0; i < 10; i++)
        //      sleep(1);

    //struct v4l2_control ctrl;

   // ctrl.id = V4L2_CID_TAKE_PICTURE;
    //if (ioctl(fd, VIDIOC_S_CTRL, &ctrl) < 0) {
  //      perror("VIDIOC_S_CTRL failed");
  //  } else {
  //      perror("setTakePictureCtrl ok\n");
 //   }
        
        
        FILE* fp = fopen("test2.nv12", "w");
        if(fp == NULL)
        {
                printf("open file error.\n");
                goto end;
        }

        for (i = 0; i < 200; i++)
        {
                fd_set fds;

                FD_ZERO(&fds);
                FD_SET(fd, &fds);

                select(fd + 1, &fds, NULL, NULL, NULL);

            memset(&buf, 0, sizeof(struct v4l2_buffer));
                buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
                buf.memory = V4L2_MEMORY_MMAP;
                ioctl(fd, VIDIOC_DQBUF, &buf);

            void *pMem = gpV4l2Buf[buf.index].memory;
                printf("frame addr = %x, length=%d, %d\n", (unsigned int)pMem, gpV4l2Buf[buf.index].length, buf.length);

                fwrite(pMem, 640 * 480 * 3 / 2, 1, fp);
#if 0
                if (i == 199)
                {
                        file_fd = open("test.jpg", O_RDWR | O_CREAT, 0777);
                        write(file_fd, pMem, 640 * 480 * 3 / 2);
                        close (file_fd);
                        printf("frame index = %d, size = %d.\n", buf.index, buf.length);
                }
#endif
                ioctl(fd, VIDIOC_QBUF, &buf);
        }

end:
        fclose(fp);     
        v4l2StopStreaming();
        v4l2UnmapBuf();
        

        close (fd);
        printf("Camera Done.\n");


        return 0;
}

b5fdce65aa04d77f1066453a0468ffe8.png

1a3b4bb98783a39ad0c052ba7c25e45f.png

NV12录像文件下载: nv12_data.7z

#139 Re: 全志 SOC » V3s/S3/f1c100s通过USB启动Linux,并把SD NAND/TF卡挂载为U盘, 可以dd或Win32DiskImager任烧写 » 2020-09-21 22:10:18

启动之后无法挂载sd nand到pc   看不到是哪的问题  能帮忙分析一下嘛 信息

usb id引脚在dts是怎么配置的?

#140 Re: 全志 SOC » 小智科技X3卡片电脑,仅有银行卡一半大,像艺术品般的硬件,多图慎入~ (开放购买) » 2020-05-28 12:21:16

小智科技 说:

论坛好久没见到晕哥出现,谢谢晕哥的支持,我还以为晕哥改名哇酷小二了哈哈~

说来话长,由于挖坑不填,吹牛不干活,被老板禁言了。

#142 Re: 全志 SOC » 编译、安装Windows版本sunxi-fel步骤 (32M spi flash补丁,支持W25Q256/MX25L256) » 2020-04-26 10:07:16

提示什么错误吗?
写一个小一点的文件(如u-boot), 然后读出来看对不对.

#143 Re: 全志 SOC » 荔枝派zero 系统 » 2020-04-23 10:08:00

上面2楼那个固件我记得是有以太网的,你先试一试。

#144 Re: 全志 SOC » V3s licheepi板子启动失败, jffs2: jffs2_scan_eraseblock():Magic bitmask 0x198 » 2020-04-22 23:31:59

ifree64 说:

是要取消这个选项吗?我去试试,谢谢!

对的, 你先取消这个选项试一试.

#146 Re: 全志 SOC » 第一次画全志的板子F1C200S,明天发板 » 2020-04-22 22:32:08

pcb_diy 说:

想请问下晕哥,以前只有STM32基础。如何切换到这个F1C100S跑LINUX的学习上来?论坛有没有入门级的资料供我这种初学者学习?

这个教程不错: https://whycan.cn/t_3138.html

#149 Re: 全志 SOC » @assert 修改后的 f1c100s u-boot 开源了, 可以引导bsp linux » 2020-04-22 19:10:28

wammaw1314 说:

收藏本帖,目前正在新增使用spi nand flash,启动引导主线Linux 4.19,各种学习中。。。

这个帖子更有参考价值: https://whycan.cn/t_3123.html

#150 Re: 全志 SOC » F1C100S裸跑Fatfs » 2020-04-22 17:40:35

wukenaihe 说:

配置sunxi-fel工具出现了如下问题:
fel.c:32:18: fatal error: zlib.h: 没有那个文件或目录
compilation terminated.
fel_lib.c:26:20: fatal error: libusb.h: 没有那个文件或目录
这个怎么破

https://whycan.cn/t_444.html

#153 Re: 全志 SOC » F1C200S入坑手记 » 2020-04-21 20:27:28

Blueskull 说:

Don't really want to necropost on the old thread. PM me with your email and I can send it to you directly.

BTW, I believe posting at least 3 posts here should grant you download privilege. Don't quote on me.

大神神速,现在涨到7个了,笑哭.gif

#154 Re: 全志 SOC » F1C200S入坑手记 » 2020-04-21 20:26:01

认真回复7个帖子,可以解锁下载权限

Seriously reply to 7 posts, you can unlock the download rights

Thanks.

#155 Re: 全志 SOC » 感谢 widora @mango 友情赠送的精致小巧TINY200开发板套件, 主控全志 F1C200s » 2020-04-20 17:38:08

xingjxuan 说:

晕哥。。。这个板子是不是不能用PhoenixSuit来烧写

对 这个烧录方法和sdk不同。

#156 Re: 站务公告/网站建设 » 感觉最近帖子变水了? » 2020-04-20 17:15:55

jiangming1399 说:

其实我个人是觉得,没有意义的回帖还不如不回……主要是我会定期看我被回复的贴子,要是水占大部分的话那就纯粹是浪费时间了

嗯嗯,大部分无意义的回复我都删了。

以后加入新用户审帖功能,尽管水,只要审核不通过都不会显示。

#157 Re: 站务公告/网站建设 » 感觉最近帖子变水了? » 2020-04-20 15:03:24

达克罗德 说:

精华帖可以加多点积分,然后按分数搞个等级勋章啥的,增加荣誉感,鼓励发帖

嗯嗯,小本本记下来了。

#158 Re: 站务公告/网站建设 » 感觉最近帖子变水了? » 2020-04-20 14:57:00

达克罗德 说:

好像是满多少积分才能下载了

七分。好像不是很多,认真回复几句骚话就解决了。

#159 Re: 站务公告/网站建设 » 感觉最近帖子变水了? » 2020-04-20 14:50:37

嗯,每天下载3G左右,但是跟帖很少,所以稍改了一点点规则,

七分解锁下载权限,当时考虑到可能会水一波,只是没想到这么水,笑哭.gif

#160 Re: 全志 SOC » 分享自制的使用USB网卡的F1C200S开发板 » 2020-04-20 13:41:33

asdfwyg 说:

老大有没有用过rtl8189这种sdio的模块呢,这个稳定性怎么样

螃蟹的 RTL8723BS sdio网卡玩过 ,貌似不是很稳定,连linux驱动都在stating目录。

#161 Re: 全志 SOC » 分享自制的使用USB网卡的F1C200S开发板 » 2020-04-20 13:01:40

感谢楼主分享,网卡还是博通方案的ap6xxx的sdio模块软硬件稳定性好。

#162 Re: 站务公告/网站建设 » 自动定时备份 debugdump(whycan) 数据库并发送到邮箱 » 2020-04-20 09:08:25

HackforFun 说:

坛主,论坛什么时候考虑支持下 Markdown呀。

感谢建议,小本本先记下来。

#164 Re: 全志 SOC » 连续多个晚上熬夜,终于搞定F1C100S裸奔(从SPI Flash启动) » 2020-04-19 08:11:30

幽光 说:

现在下载都这么困难了吗,新手发不了精华帖啊,晕哥可以收费下载啊

感谢建议,现在认真回复7个帖子就可以解锁下载权限。精华帖那个不用担心,已经取消了。

#165 Re: 站务公告/网站建设 » 自动定时备份 debugdump(whycan) 数据库并发送到邮箱 » 2020-04-18 14:37:30

kekemuyu 说:

备份文件多大呀!时间长了,邮箱会不会爆掉,

不会,连续两年每小时备份一次数据163和qq邮箱都没有爆。

#167 Re: 全志 SOC » 分享一个 5寸的 800x480 的 f1c100s 固件, 感谢 @xm1994, 调试串口UART0 (PB8/PB9) » 2020-04-17 21:26:09

zhaolei_cpp 说:

请问 楼主 f1c100s_linux_4.15_emwin_dump_20190827 的内核代码在哪里?

好像是 /etc/init.d/rcS 里面

#168 Re: 全志 SOC » 分享全志主线u-boot/linux 打包 TF/SD/SDNAND 镜像脚本 » 2020-04-17 11:12:49

renhuge 说:

这个脚本可以打包F1C200S么

当然可以,而且本来就是。

#169 Re: 全志 SOC » 使用逻辑分析仪探测全志Allwinner V3s SPI FLASH启动过程 » 2020-04-17 10:29:39

myxiaonia 说:

f1c100s有没有这个iram,越发看不明白了,boot0这个代码是不是就是BROM

BROM是固化在芯片内部的, boot0 是 处于spi flash/TF卡/eMMC 最前面的程序,一般用来初始化必要的硬件如DRAM等。

ifree64 说:

晕哥,uboot-sunxi-with-spl这个文件是不是包含两部分内容,文件前面32k是spl后面是uboot?

对,前面32k就是传说中的boot0,
全志的SDK里面都叫boot0, 全志的SDK里面boot0是不开源的。

#172 Re: 全志 SOC » 使用qmake编译.pro文件一直报Unknown module(s) in QT: serialport错误 » 2020-04-16 09:01:34

$ find . |grep SerialPort  |grep \\.so
./output/build/qt5serialport-5.12.4/lib/libQt5SerialPort.so.5.12.4
./output/build/qt5serialport-5.12.4/lib/libQt5SerialPort.so.5.12
./output/build/qt5serialport-5.12.4/lib/libQt5SerialPort.so.5
./output/build/qt5serialport-5.12.4/lib/libQt5SerialPort.so
./output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libQt5SerialPort.so.5.12.4
./output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libQt5SerialPort.so.5.12
./output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libQt5SerialPort.so.5
./output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libQt5SerialPort.so
./output/target/usr/lib/libQt5SerialPort.so.5.12.4
./output/target/usr/lib/libQt5SerialPort.so.5.12
./output/target/usr/lib/libQt5SerialPort.so.5

用 find 命令搜索 SerialPort 相关文件是否存在。

#174 Re: 全志 SOC » 请教windows下linux编译环境搭建 » 2020-04-16 08:21:40

建议用Ubuntu18.04 LTS

从入门到放弃的视频教程都可以在 https://www.bilibili.com/ 搜索到,

也有手机app。

#175 Re: 全志 SOC » X3开发板官方版本新鲜出炉,4核A7,内置128MB DDR,封装FBGA 262,16x13x1.0mm » 2020-04-16 08:16:50

感谢各位朋友表达自己的意见,友善的评论是交流的起点,大家可以随意发表自己的看法,但是请不要涉及人身攻击。

前面有些不友好的词语我编辑了一下。

#178 DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 10元一个全新720P互联网网关监控摄像头 HI3518 » 2020-04-15 23:14:14

晕哥
回复: 40

电脑版购买链接:
https://2.taobao.com/item.htm?id=615375166331

淘宝手机app购买:
我在闲鱼发布了【闲鱼被禁言中 4元一个全新720P互联网网关监控摄像头 摄像】椱ァ製这段描述后,打开闲鱼€hbXu1kChb0O€后打开闲鱼

关于运费:
10元*数量+运费,运费首重通通通按10计,每4个超重加5元
第一套友情价,15包邮(记得留言:whycan)

4760558199849071.jpg

------------------------
仅发布信息,不承担任何质量等其他问题.
仅发布信息,不承担任何质量等其他问题.
仅发布信息,不承担任何质量等其他问题.

#180 Re: 全志 SOC » 新手Zero V3S 基础入门问题 » 2020-04-15 15:42:16

https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts

compatible = "gpio-leds";

drivers/leds/Makefile:obj-$(CONFIG_LEDS_GPIO)                   += leds-gpio.o

这个 CONFIG_LEDS_GPIO 驱动有没有勾选?

#181 Re: 全志 SOC » V3S 如何 LCD 背光调整? » 2020-04-15 15:38:35

https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt

backlight {
        compatible = "pwm-backlight";
        pwms = <&pwm 0 5000000>;

        brightness-levels = <0 4 8 16 32 64 128 255>;
        default-brightness-level = <6>;

        power-supply = <&vdd_bl_reg>;
        enable-gpios = <&gpio 58 0>;
        post-pwm-on-delay-ms = <10>;
        pwm-off-delay-ms = <10>;
    };

凭感觉 /sys/class/backlight/pwm-backlight/bl_power 应该对应是 enable-gpios

#182 Re: 全志 SOC » 有没有windows下交叉编译F1C100S linux应用的gcc » 2020-04-15 10:26:01

https://whycan.cn/t_2376.html#p18090

用同一公司同一版本的 gcc 编译器就行,也就是说文件系统的gcc和windows编译app的gcc版本要一致。

否则你的app只能静态链接。

#183 Re: 全志 SOC » 新手Zero V3S 基础入门问题 » 2020-04-15 10:22:51

看下是哪一级目录或者文件没有 /sys/class/leds/licheepi:red:usr/brightness

#184 Re: 全志 SOC » V3s/S3/f1c100s通过USB启动Linux,并把SD NAND/TF卡挂载为U盘, 可以dd或Win32DiskImager任烧写 » 2020-04-14 18:39:15

hzxczfw 说:

@晕哥 usb启动成功,焊在板上的SD芯片如何挂载成为windows下的U盘?我在usb启动成功后,将PF6拉高,但是没有反应,还有什么条件?fel引导用的image是自己做的。

接串口,看输出什么log

#185 Re: 全志 SOC » 新手Zero V3S 基础入门问题 » 2020-04-14 18:10:07

这个目录 /sys/ 里面有内容吗?

#186 Re: 全志 SOC » 新手求助Zero v3“增开USART1 和USART2” » 2020-04-13 12:00:50

xblzy0423 说:

linux中了
板子为zero v3s

那u-boot不用改uart部分,应该去linux里面修改。

#187 Re: 全志 SOC » 新人想入门请教点烧系统问题. » 2020-04-12 20:31:12

有几种玩法:
1. 主线Linux,驱动不全,但是参与者挺多,原汁原味。
2. 原厂魔改的tina Linux驱动比较全,摄像头和视频解码器应该都可以工作,但是网上找不到什么资料,加上原厂NDA你都找不到人讨论。
3. 原厂的小系统melis,驱动比较全
4. 民间的各种裸奔,RTOS,XBOOT等

如果你想用解码器,得用Tina Linux,否则软解就是PPT

#189 Re: 全志 SOC » 荔枝派NANO怎么修改CPU频率? » 2020-04-11 16:35:36

myccl 说:

感谢晕哥,久仰大名

老板客气,各路神仙能上来发帖已经很看得起小站了。

#190 Re: 全志 SOC » 荔枝派NANO怎么修改CPU频率? » 2020-04-11 16:07:05

myccl 说:

还有帖子链接吗,我没搜到

@达克罗德 大神的: https://whycan.cn/t_3380.html

#191 Re: 全志 SOC » 新手上路内核启动过程中一直出现 sunxi-mmc 1c0f000.mmc: fatal err update clk timeout 报错 » 2020-04-11 14:52:26

tlx 说:

是把SDIO的一组接口全部上拉吗?

参考荔枝派或者歪朵拉原理图

#195 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 给大家推荐一款联通的流量卡, 年付8元, » 2020-04-10 19:51:23

aozima 说:

今天电话回访了,说银行卡可能退不成功,直接加我微信退款了。
至此销号成功,拨打提示已停机。

我充了100续命

#197 Re: 全志 SOC » 新手求助 rootfs.tar生成 » 2020-04-10 16:16:06

xblzy0423 说:

我在解压前看了,文件是空的,我贴的图

ls -l /bin/*

看下文件有没有执行属性。

#198 Re: 全志 SOC » 看了大神<微凉VeiLiang>的电路图还是不懂, 哪位大神能帮忙画个nano的csi摄像头接口电路图. » 2020-04-10 15:55:45

kerr 说:

晕哥,再请教下, 我想跟arduino的一些板子双向通信, 用什么接口合适? i2c?还是串口?

电平一致情况下 i2c,spi,uart,i80都可以。

#200 Re: 全志 SOC » 看了大神<微凉VeiLiang>的电路图还是不懂, 哪位大神能帮忙画个nano的csi摄像头接口电路图. » 2020-04-10 10:59:18

kerr 说:

汗, 晕哥.我是菜鸟.画画简单的还可以.要完整的, 那不行..我搞软件的,不太懂硬件

参考你需要的部分就行。

页脚

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

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