您尚未登录。

#1 Re: RK3288/RK3399/RK1108 » 这个RK3506G的开发板40块钱值吗? » 今天 08:53:14

海石生风 说:

技术发展得太快了,我以前刚出来工作那会ARM9开发板价格动不动都要七八百。现在50块钱不到的板子还要问值不值!?

我也是,两三千的开发板买买买眼睛都没眨一下,所以现在还是穷困潦倒。

#2 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 发现个好玩的东东:Flash ID伪造器 这个原理简单,但TB上好像没得卖 » 2025-10-30 15:51:23

zjsx133 说:

这个有啥意义呢?伪造个id骗过cpu?一般会根据id进行分区和页写之类的

有意义,只接管指定的指令,其他指令就转发。

#3 Re: 全志 SOC » 有把T113-s3用到工业应用的么 » 2025-10-27 18:40:40

4610 说:
liubuf 说:

T113-s3手册上标注的温度为-25---75度

https://whycan.com/files/members/10513/113s3-temp.png

这个是旧版手册,新版已经改了。

据说是一致性不行,有一定比例过不了低温。

#4 Re: 全志 SOC » T113使用cpu将相机的NV21转换为RGB32格式,需要100多ms,有没有大神指点下怎么用硬件去转 » 2025-10-22 13:24:13

xsx_kair 说:
double33 说:

另外你是一次都没申请cma成功过?还是说有几率失败?

全部失败,从来没成功过,编译package里面的g2d_demo也是失败
ioctl失败的错误代码:errno=25, strerror(errno) = Not a tty

lv_examples 加 0,1,2,3参数 可以旋转吗?

#6 Re: 全志 SOC » 用T113-S4搭建一个8.8寸长条屏HMI开发平台 » 2025-10-14 09:46:17

@wuyu
Windows是免驱的吗?还是需要另外手动安装驱动呢?

#8 Re: 全志 SOC » 请教下sys_config是在boot0(SPL)里读取使用的吗? » 2025-10-04 03:02:41

主要是给 boot0使用,有些参数还要传递给u-boot和kernel。

#9 Re: 全志 SOC » 淘到的二手苹果 MAC AIR 安装 Windows » 2025-09-27 11:46:08

bigniudiy 说:

怎么不用原生mac os系统,流畅度肯定比windows强

工作软件没有 mac os 版本的

#10 Re: 全志 SOC » 淘到的二手苹果 MAC AIR 安装 Windows » 2025-09-27 10:44:20

海石生风 说:

13年的机器还能干啥?我也有台13年的笔电,看网络视频弹个弹幕都吃力。

用来烧程序还是可以的

#11 Re: 全志 SOC » 淘到的二手苹果 MAC AIR 安装 Windows » 2025-09-27 10:07:39

海石生风 说:

ubuntu何在?

下次一定

一个U盘的价格买台超薄电脑还是挺划算的,虽然有点久了。

#12 Re: 全志 SOC » 淘到的二手苹果 MAC AIR 安装 Windows » 2025-09-27 09:41:17

MAC AIR 2011,型号A1369

① 下载 cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso

② 使用 ultraiso 刻录 iso 到U盘

③ 按住左边ALT按键,开机,选EFI即可进入U盘安装程序

④ 下载 BootCamp5.1.5621.zip 安装


⑤ 激活:打开powershell输入

irm https://get.activated.win | iex

参考: https://www.bilibili.com/video/BV1eqbWzjEv6

⑥ 安装adb驱动
小米官网:xiaomi_usb_driver.rar
本站下载:xiaomi_usb_driver.rar



QQ20250925-203601.png


6c1591eb872faca948b580d82cd74dc6.jpg

#13 全志 SOC » 淘到的二手苹果 MAC AIR 安装 Windows » 2025-09-26 21:04:43

ubuntu
回复: 7

MAC AIR 2013,型号A1466

① 下载 MediaCreationTool_22H2.exe 生成 Windows10.iso

② 使用 Rufus 3.11.1678 刻录 Windows10.iso 到U盘

③ 按住左边ALT按键,开机,选EFI即可进入U盘安装程序

④ 下载 BootCamp 6.0.6136 安装


⑤ 激活:打开powershell输入

irm https://get.activated.win | iex

参考: https://www.bilibili.com/video/BV1eqbWzjEv6



fe3bf4eec49939a1e4a79425528ab6ff.png

608e71aafb1e3f80e015bfe0ef6f693c.jpg




--------------------------------------
--------------------------------------
--------------------------------------

MAC Pro 2013版本 Windows10 安装 BootCamp 6.0.6136,提示 【这个bootcamp版本不适用此电脑机型】

有一个偏门方法,用管理员权限打开 powershell,

切换到 【BootCamp\Drivers\Apple】,

命令行执行 .\BootCamp.msi

然后就安装成功了!

#14 Re: 全志 SOC » SOC选型推荐 » 2025-09-26 11:53:01

卖菜老汉 说:
ubuntu 说:

A733 核心板

核心板就算了 受限太多 而且成本肯定就上来了 还是希望是芯片

这个既要又要的芯片不太好找啊

#17 Re: 全志 SOC » 全志soc使用mipi屏幕时启用framebuffer console会导致屏幕异常 » 2025-09-13 20:05:43

这是哪个芯片呢,可以进命令行吧,现在是显示屏黑了?

#18 全志 SOC » 发现全志新的SDK,原来的 /dev/ttySx 都改成了 /dev/ttyASx,这是为什么呢? » 2025-09-02 10:00:26

ubuntu
回复: 2

发现全志新的SDK,原来的 /dev/ttySx 都改成了 /dev/ttyASx,这是为什么呢?

# ls /dev/tty*S? -l
crw-rw----    1 root     root      245,   1 Jan  1 23:07 /dev/ttyAS1
crw-rw----    1 root     root      245,   3 Jan  1 23:07 /dev/ttyAS3
crw-rw----    1 root     root        4,  64 Jan  1 00:00 /dev/ttyS0
crw-rw----    1 root     root        4,  65 Jan  1 00:00 /dev/ttyS1
crw-rw----    1 root     root        4,  66 Jan  1 00:00 /dev/ttyS2
crw-rw----    1 root     root        4,  67 Jan  1 00:00 /dev/ttyS3

#19 Re: 全志 SOC » 昆仑的屏运行自己的QT程序 » 2025-08-26 13:33:14

IMG_20250826_133129.jpg

请问是usb公对公线接这个后面吗?

#20 Re: 全志 SOC » 昆仑的屏运行自己的QT程序 » 2025-08-26 13:12:17

NM2012 说:
ubuntu 说:

可以接调试串口和USB烧录口吗?

只有系统启动以后才可以姐调试口,上电到启动完成暂时不能。我也无意中找到这个刷机固件的,还有很多需要研究的

调试窗口怎么接呢,有图片吗?

#21 Re: 全志 SOC » 昆仑的屏运行自己的QT程序 » 2025-08-26 12:51:51

可以接调试串口和USB烧录口吗?

#22 Re: 全志 SOC » 有偿寻找U盘音乐解码方案。。。 » 2025-08-08 19:49:04

zzm24 说:

直接用f1c200s跑ffmpeg进行解码就行,dsd文件格式和dts文件格式要自己优化一下,不然速度根本上,还要修改一下I2S的驱动,不然不支持384K.嗯,我就是一楼图片作者.

请教dsd如何优化呢?

#25 全志 SOC » GD这三款NAND FLASH:GD5F1GQ4UAYIG GD5F1GQ4UBYIG GD5F1GQ4UCYIG 有什么区别呢? » 2025-07-08 11:49:17

ubuntu
回复: 0

GD这三款NAND FLASH:GD5F1GQ4UAYIG GD5F1GQ4UBYIG GD5F1GQ4UCYIG 有什么区别呢?

#26 Re: 全志 SOC » F1C100S使用LVGL显示图片速度很慢,寻求优化建议 » 2025-07-07 18:04:49

新项目建议用F133-B,贵不了几块钱,资源贼多。

#27 Re: 全志 SOC » 请问 AVR的 ATTINY10 这个单片机 可以用什么烧录? » 2025-06-22 15:03:01

淘宝上买CH347,烧写速度很快,价格便宜。
配套github开源软件:asprogrammer-dregmod-v3.17

#29 Re: 全志 SOC » 请问 AVR的 ATTINY10 这个单片机 可以用什么烧录? » 2025-06-21 10:32:54

淘宝上有 CH341烧录线,配合 NeoProgrammer 可以实现可编程的编程器。

#30 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » cmake编译 lvgl » 2025-06-18 11:31:04

A5F25C8AAE1D6C4A01029CDE1C7BE9D7.png


cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++

mingw32-make

#32 Re: 全志 SOC » A733烧录Android15后不能启动 » 2025-06-08 10:55:26

......


[464]HELLO! BOOT0 is starting!
[467]BOOT0 commit : {f11f8d34}
[473]PMU: AXP8191
[475]pmu_chip_id = 14
[477]set pll start
[479]cpul clk 0xf8802700!
[483]cpub clk 0xf8802700!
[486]dsu clk 0xf8801e00!
[489]set pll end
[491]dram return write ok
[494]board init ok
[495]rtc[3] value = 0xb00f
[498]rtc[7] value = 0x2
[500]enable_jtag
[502]Driver version 0.0.9 2024.11.20 10:19
[522]Cal words efuse addr 0x60 value 0xa8830000, addr 0x64 value 0x4f1f9b62
[579]Device  up at:[581][RX, TX]: gear=[4, 4], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2
[588]sc st 2
[590]Read blk size 4096,capacity 31240191
[594]DRAM BOOT DRIVE INFO: V0.581_optim_mode1
[600]DRAM_VCC set to 560 mv
[602]DRAM CLK =2400 MHZ
[605]DRAM Type =9 (8:LPDDR4,9:LPDDR5)
[703]Training result is = 7
[705]DRAM Pstate 1 training, frequency is 1200 Mhz
[808]Training result is = 7
[811]DRAM Pstate 2 training, frequency is 800 Mhz
[999]Training result is = 7
[1002]DRAM Pstate 3 training, frequency is 400 Mhz
[1055]Training result is = 7
[1058]DRAM Pstate 0 training, frequency is 2400 Mhz
[1067]Actual DRAM SIZE =4096 M
[1070]DRAM SIZE =4096 MBytes, para1 = a10a, para2 = 10000001, dram_tpr13 = 65
[1085]DRAM simple test OK.
[1088]dram size = 4096
[1126]Loading boot-pkg Succeed(index=0).
[1130]Entry_name        = u-boot
[1139]Entry_name        = monitor
[1143]Entry_name        = scp
[1145]error: dtb not found for scp
[1150]Jump to ATF: monitor_base = 0x48000000, uboot_base = 0x4a000000, optee_base = 0x0
NOTICE:  BL31: OP-TEE 32bit detected
NOTICE:  BL31: U-BOOT 32bit detected
NOTICE:  BL31: v2.5(debug):9f44f15ed
NOTICE:  BL31: Built : 21:09:08, Dec 23 2024
NOTICE:  hardware check error1
BACKTRACE: START: bl31_platform_setup
0: EL3: 0x48003e1c
1: EL3: 0x480041fc
2: EL3: 0x480040f8
3: EL3: 0x480001f0
BACKTRACE: END: bl31_platform_setup
PANIC in EL3.
x30            = 0x0000000048004208
x0             = 0x0000000002500000
x1             = 0x0000000000000060
x2             = 0x0000000000000060
x3             = 0x00000000ffffffc8
x4             = 0x0000000000000034
x5             = 0x0000000000000034
x6             = 0x0000000000000004
x7             = 0x0000000000000000
x8             = 0x000000023fffffff
x9             = 0x0000000048013000
x10            = 0x0000000000000000
x11            = 0x0000000048000000
x12            = 0x0000000000000000
x13            = 0x0000000000000000
x14            = 0x0000000000000000
x15            = 0x0000000000000000
x16            = 0x0000000000000000
x17            = 0x0000000000048c00
x18            = 0x0000000000000020
x19            = 0x000000004800f4b4
x20            = 0x0000000000000000
x21            = 0x0000000000001903
x22            = 0x0000000000000000
x23            = 0x0000000000000000
x24            = 0x0000000000000000
x25            = 0x0000000000000000
x26            = 0x0000000000000000
x27            = 0x0000000000000000
x28            = 0x0000000000000000
x29            = 0x00000000480142c0
scr_el3        = 0x0000000000000238
sctlr_el3      = 0x0000000030cd183f
cptr_el3       = 0x0000000000000000
tcr_el3        = 0x000000008081351e
daif           = 0x00000000000002c0
mair_el3       = 0x00000000004404ff
spsr_el3       = 0x00000000000001cd
elr_el3        = 0x0000000000000000
ttbr0_el3      = 0x0000000048041301
esr_el3        = 0x00000000b21e3e3f
far_el3        = 0x72fefefffbffffbf
spsr_el1       = 0x00000000000001cd
elr_el1        = 0x0000000000000000
spsr_abt       = 0x00000000e0067807
spsr_und       = 0x00000000e20ef80c
spsr_irq       = 0x00000000681478dc
spsr_fiq       = 0x00000000c00a7c0e
sctlr_el1      = 0x0000000000c50838
actlr_el1      = 0x0000000000000000
cpacr_el1      = 0x0000000000000000
csselr_el1     = 0x0000000000000000
sp_el1         = 0x0000000000000000
esr_el1        = 0x000000007f7ffffe
ttbr0_el1      = 0x0000fefec4fe7efc
ttbr1_el1      = 0x00007efeff7f7ff8
mair_el1       = 0x44e048e000098aa4
amair_el1      = 0x0000000000000000
tcr_el1        = 0x0000000000000000
tpidr_el1      = 0xfffffe7f7ffefece
tpidr_el0      = 0xdffede76fefff7fe
tpidrro_el0    = 0xf7fefbffdffff6fe
par_el1        = 0xff00000048000980
mpidr_el1      = 0x0000000081000000
afsr0_el1      = 0x0000000000000000
afsr1_el1      = 0x0000000000000000
contextidr_el1 = 0x0000000000000000
vbar_el1       = 0x0000000000000000
cntp_ctl_el0   = 0x0000000000000000
cntp_cval_el0  = 0xfffffffffefefefc
cntv_ctl_el0   = 0x0000000000000000
cntv_cval_el0  = 0xfffeffffffffdeff
cntkctl_el1    = 0x0000000000000000
sp_el0         = 0x00000000480142c0
isr_el1        = 0x0000000000000000
cpuectlr_el1   = 0x000000002808bc00
icc_hppir0_el1 = 0x00000000000003ff
icc_hppir1_el1 = 0x00000000000003ff
icc_ctlr_el3   = 0x0000000000028400
gicd_ispendr regs (Offsets 0x200-0x278)
Offset                  Value
0x200:           0x0000000000000000
0x208:           0x0000000000000000
0x210:           0x0000000000000000
0x218:           0x0000000000000000
0x220:           0x0000000000000000
0x228:           0x0000000000000000
0x230:           0x0000000000000000
0x238:           0x0000000000000000
0x240:           0x0000000000000000
0x248:           0x0000000000000000
0x250:           0x0000000000000000
0x258:           0x0000000000000000
0x260:           0x0000000000000000
0x268:           0x0000000000000000
0x270:           0x0000000000000000
0x278:           0x0000000000000000

我也出现了这个情况

#36 Re: 全志 SOC » 请教F1C200S的RGB屏幕配置问题 » 2025-04-29 00:10:44

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

#38 Re: RT1050/RT10XX » 把前几年买的不能自动的JLINK V9刷成 可以自动更新的版本了. » 2025-04-16 23:37:58

banma 说:
banma 说:

你好,一直提示clone,怎么解决,重新下载修改SN号吗?

我重新换了一个SN解决了。

怎么换SN呢?

#39 Re: 全志 SOC » t113s3 读取CPU温度失败(已解决) » 2025-04-15 09:25:31

有道理,某些公司不开源就是因为代码是一坨x

#41 Re: 全志 SOC » t113 qt g2d » 2025-04-01 23:59:16

我只对接了g2d旋转

#42 Re: 全志 SOC » 全志F1C100S这颗料是要停产了吗 官网连型号也查不到 » 2025-03-25 10:31:57

其实晶圆都在仓库,如果单大,会继续生产的,采购一块基板,发到封装厂就能干了,和PCBA没有本质区别。

#43 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 一个简单的Linux线程通讯测试 » 2025-03-08 02:02:38

改为 tinyplay 播放:

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

// 共享数据及同步变量
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
static char play_filename[256] = {0};
static int play_request = 0;
extern int tinyplay(int argc, const char **argv);

void* audioplay_thread(void* arg)
{
	(void)arg;

	while (1)
	{
		pthread_mutex_lock(&mutex);

		while (!play_request) {
			printf("now waiting signal ...\n");
		    pthread_cond_wait(&cond, &mutex);
			printf("signal waited!\n");
		}

		printf("in audio play thread\n");
		play_request = 0; // 重置请求标志
		pthread_mutex_unlock(&mutex);



		printf("now playing: %s\n", play_filename);
		const char* argv[] = {"play", play_filename};
		int argc = sizeof(argv) / sizeof(argv[0]);

		tinyplay(argc, argv);
		//usleep(3*1000*1000);
	}
}

// 初始化并启动播放线程
void init_playback_thread() {
    pthread_t tid;
    pthread_create(&tid, NULL, audioplay_thread, NULL);
}

// 触发播放的函数
void request_play(const char* filename) {
    pthread_mutex_lock(&mutex);
    strncpy(play_filename, filename, sizeof(play_filename)-1);
    play_filename[sizeof(play_filename)-1] = '\0';
    play_request = 1;
    pthread_cond_signal(&cond);
    pthread_mutex_unlock(&mutex);
}

int main() {
    init_playback_thread();

    // 模拟其他线程触发播放
    request_play("test.wav");

    while(1)
    {

		char ch = getchar();
		if((ch == 'a') || (ch == 'A')) {
			request_play("/usr/lib/libreoffice/share/gallery/sounds/ok.wav");
		}
    }

    return 0;
}

#44 VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 一个简单的Linux线程通讯测试 » 2025-03-08 01:26:58

ubuntu
回复: 1
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

// 共享数据及同步变量
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
static char play_filename[256] = {0};
static int play_request = 0;

void* audioplay_thread(void* arg)
{
	(void)arg;

	while (1)
	{
		pthread_mutex_lock(&mutex);

		while (!play_request) {
			printf("now waiting signal ...\n");
		    pthread_cond_wait(&cond, &mutex);
			printf("signal waited!\n");
		}

		printf("in audio play thread\n");
		play_request = 0; // 重置请求标志
		pthread_mutex_unlock(&mutex);



		printf("now playing: %s\n", play_filename);
		usleep(3*1000*1000);
	}
}

// 初始化并启动播放线程
void init_playback_thread() {
    pthread_t tid;
    pthread_create(&tid, NULL, audioplay_thread, NULL);
}

// 触发播放的函数
void request_play(const char* filename) {
    pthread_mutex_lock(&mutex);
    strncpy(play_filename, filename, sizeof(play_filename)-1);
    play_filename[sizeof(play_filename)-1] = '\0';
    play_request = 1;
    pthread_cond_signal(&cond);
    pthread_mutex_unlock(&mutex);
}

int main() {
    init_playback_thread();

    // 模拟其他线程触发播放
    request_play("test.wav");

    while(1)
    {

		char ch = getchar();
		if((ch == 'a') || (ch == 'A')) {
			request_play("test.wav");
		}
    }

    return 0;
}

#45 Re: 全志 SOC » 求大神指教,全志T507 PWM怎么实现发送固定脉冲数 » 2025-03-04 09:47:57

yozad 说:

使用T507控制电机:
1、电机默认频率13000Hz,最大可以设到60000
2、固定脉冲数在0-60000个脉冲之间

需要发送固定脉冲数让电机走固定位置,如何实现?

求大神指教,感谢

13K ~ 60K PWM频率?

#46 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 记录一下常用易忘的Linux日常操作 » 2025-02-03 19:25:07

搜索当前文件夹,排除 out/ 文件夹

grep net-aic8800 -r . --exclude-dir out/

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

dgtg 说:

请问下,这模块可以搭配C100或君正 使用吗?使用usb接口

F1C100s据说因为USB端点数量不够,可能不行。如果不行的话,可以走UART。

#49 Re: 全志 SOC » 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值 » 2025-01-09 19:19:56

xfdr0805 说:

大佬,"年月日"这几个字可以用中文吗?时分秒的字体可以更大一些,我打算寒假回去挂家里大厅,给我老妈用,谢谢啦。

#50 Re: 全志 SOC » 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值 » 2025-01-08 08:32:23

li6848 说:

屏幕闪屏,忽明忽暗的,有大佬瞅瞅吗。是我机子问题吗。

应该是货架上面淘汰下来的问题价签,所以下单前问清楚。

#52 Re: 全志 SOC » 8.8元的 ML307R-DL 4G CAT.1 模块 » 2024-12-24 15:58:32

hameyou 说:

这玩意是首个优惠价吧,批量8.8做不到吧

批量就是这个价,含税,中国移动的子公司,全网通模块。

#58 Re: 全志 SOC » 网上下载的t113用的tina5.x sdk,无t113s3配置,求个补丁。 » 2024-11-21 09:33:57

有 t113-s4 那个 sdk里面没有 支持 t113-s3,我试图补丁了一下,没有成功,放弃治疗。

#62 Re: 全志 SOC » 三张Linux I2S声卡可以玩 5.1杜比音效吗? » 2024-08-31 12:02:08

rick lou 说:

不可以,杜比和dts有严格监管的版权,建议同轴或者hdmi直通然后外接支持的解码器转成iis

有哪些解码器可以推荐呢?

#63 Re: 全志 SOC » 三张Linux I2S声卡可以玩 5.1杜比音效吗? » 2024-08-30 20:22:35

#### 使用ALSA
如果你更喜欢使用ALSA,可以使用多个混音器来组合不同的声道。首先,确认你的声卡设备名称,然后创建一个自定义的混音器文件来组合多个声道。

1. **编辑`/etc/asound.conf`**:
   创建或编辑`/etc/asound.conf`文件,定义一个新的混音器设备,将多个声卡组合在一起。例如:

   pcm.multichannel {
       type multi
       playback_switch {
           slave {
               pcm "hw:0,0"
           }
           slave {
               pcm "hw:1,0"
           }
           slave {
               pcm "hw:2,0"
           }
       }
   }

   在这里,`hw:0,0`、`hw:1,0` 和 `hw:2,0` 分别代表三张声卡的设备名称。你需要根据实际的设备名称进行替换。

2. **设置默认PCM设备**:
   确保你的系统将新创建的混音器设备设置为默认PCM设备。

### 3. 测试和调整
完成配置后,测试音频输出是否正确。你可以播放一段5.1声道的音频文件,并检查每个扬声器是否输出正确的声道声音。

### 4. 自动化脚本
为了简化每次启动时的配置过程,可以编写一个脚本来自动加载所需的PulseAudio模块或ALSA配置,并设置默认音频设备。

### 注意事项
- 确保所有声卡都正确连接并且工作正常。
- 扬声器的布线和设置也非常重要,确保每个扬声器连接到正确的输出端口。
- 由于声道映射需要精确设置,可能需要多次调整才能达到理想的效果。

通过上述步骤,你可以利用三张双声道声卡在Linux系统中实现5.1声道环绕声。

#64 全志 SOC » 三张Linux I2S声卡可以玩 5.1杜比音效吗? » 2024-08-30 20:21:48

ubuntu
回复: 4

三张Linux I2S声卡可以玩 5.1杜比音效吗?

#65 Re: 工业芯 匠芯创 » D13x 有现成的 ntp 功能吗? » 2024-08-29 07:51:30

NTP协议很简单的,如果有TCP/UDP demo代码,对照改下就可以了。

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

海石生风 说:

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

SSH登录进去是tty还是pts ?

#68 Re: 全志 SOC » H3主线U-boot之环境变量 » 2024-08-27 12:11:32

uboot.env 具体放哪个位置呢?

#70 Re: ESP32/ESP8266 » ESP32-P4终于可以购买了, 官网tb开发板499, 小贵, » 2024-08-08 10:00:47

skrlaoshiren 说:

idf5.3开始支持esp32p4,官网上也有这个开发板资料

https://www.espressif.com/en/products/devkits

这是学多年前长城哈佛的玩法吗?一个H6玩到底

#74 Re: 全志 SOC » T113中断读取io状态赋值设置另外一个io 输出电平不同步 » 2024-08-06 23:47:49

50khz这么高频的嘛,周期是20us,全部在驱动里面操作试一试看,如果还不行就降低频率。

#75 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 请问如何获取windows和Ubuntu的缩放值 » 2024-07-16 21:16:13

QQ截图20240716211317.png

谢谢老板,windows和ubuntu测试都没有问题。

    QList<QScreen*> screens = QApplication::screens(); // 获取所有屏幕的QScreen对象列表
    for (QScreen* screen : screens)
    {
        qDebug() << "logicXY: " << screen->logicalDotsPerInchX() << "," << screen->logicalDotsPerInchY();
    }

#78 Re: 全志 SOC » D1s调试lvds,求解? » 2024-07-08 08:57:05

ghosoft 说:

@晕哥
感谢晕哥, 弄好了

大佬改了哪里,分享一下

#82 Re: 工业芯 匠芯创 » 匠芯创 D211,7寸mipi屏核心板 » 2024-06-29 11:08:02

regbbs 说:
ArtInChip 说:

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

7寸,10寸好多都是mipi的横屏。而且通用的,不同厂家的接口等都一样,可以直接替换

大佬有型号或厂家推荐吗?

#83 Re: 全志 SOC » v851s g2d 模块 sample 深究 » 2024-06-28 14:03:23

soso 说:
mysteryli 说:

看到G2D的例程输出到/dev/disp,
我换了屏幕使用fbtft,生成了FB0,怎么才能让这个mpp例程输出到fb0呢?

没法用吧。这个要对接rgb这些硬件驱动

g2d理论上可以用,但是g2d只能操作物理地址,得想办法得到fb的物理地址。

#84 Re: 全志 SOC » st7789v编译不通过,求助 » 2024-06-25 08:22:36

@Yulong
确认一下是不是全角的空格字符,或者有其他全角字符。

#85 全志 SOC » 请问T113 LVGL DEMO G2D_CMD_BITBLT_H failed: Operation not permitte是什么问题? » 2024-06-25 08:15:26

ubuntu
回复: 2
# chmod +x /tmp/lvgl_sunxifb && /tmp/lvgl_sunxifb 0
wh=1200x1920, vwh=1200x3840, bpp=32, rotated=0
Turn on double buffering.
Turn on 2d hardware acceleration.
Turn on 2d hardware acceleration rotate.
Error: sunxifb_g2d_blit_to_fb G2D_CMD_BITBLT_H failed: Operation not permitted
sunxifb_g2d_blit_to_fb src[phy=0x1200000 format=0 alpha=255 wh=[1200 1920] clip=[0 0 1200 1920]] dst=[phy=(nil) format=0 wh=[1200 3840] clip=[0 0 1200 1920]]
Error: sunxifb_g2d_blit_to_fb G2D_CMD_BITBLT_H failed: Operation not permitted
sunxifb_g2d_blit_to_fb src[phy=0x1200000 format=0 alpha=255 wh=[1200 1920] clip=[0 0 1200 1920]] dst=[phy=(nil) format=0 wh=[1200 3840] clip=[0 1920 1200 1920]]
Error: sunxifb_g2d_blit_to_fb G2D_CMD_BITBLT_H failed: Operation not permitted
sunxifb_g2d_blit_to_fb src[phy=0x1200000 format=0 alpha=255 wh=[1200 1920] clip=[0 0 1200 1920]] dst=[phy=(nil) format=0 wh=[1200 3840] clip=[0 0 1200 1920]]
Error: sunxifb_g2d_blit_to_fb G2D_CMD_BITBLT_H failed: Operation not permitted
sunxifb_g2d_blit_to_fb src[phy=0x1200000 format=0 alpha=255 wh=[1200 1920] clip=[0 0 1200 1920]] dst=[phy=(nil) format=0 wh=[1200 3840] clip=[0 1920 1200 1920]]

#89 Re: 8051/STC8/AT89C51/N76E003 » STC32G12K128的Dhrystone性能测试 » 2024-06-03 17:39:30

海石生风 说:

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

确实

#90 Re: 全志 SOC » V3S串口921600波特率使用 » 2024-05-21 14:03:26

游侠TT 说:

@谢图图
我全志的v3s调成功了,csdn上搜它高速时钟的设置,u-boot和内核都得改,串口0使用115200和串口2使用921600不会卡死了

请问最后具体是怎么解决的呢?

#91 Re: 全志 SOC » 咨询下芯片电源用EA3036的好处?用三个ASM1117不是也可以么? » 2024-05-20 10:37:15

LDO(低压差线性稳压器)的本质可以看作是电阻分压。LDO是一种常见的线性稳压器,用于在输入电压较高的情况下提供稳定的输出电压。它通过一个可调节的电阻网络来实现电压降和稳压功能。

#95 Re: 全志 SOC » 开源 T113-s3 图纸 » 2024-05-12 22:21:29

cz_jjq 说:

一直没整明白模拟地和数字地,为啥芯片下面要好大一个数字地?求教

为了芯片里面的那块基板好布线,散热,信号一致性啥的。

#96 Re: 全志 SOC » linux的2038问题有哪位大佬处理过吗,帮忙指点下? » 2024-05-06 12:07:05

现在不都是 uint64_t 类型了吗?

打印一下 sizeof(time_t)

#97 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 记录一下常用易忘的Linux日常操作 » 2024-05-06 10:07:24

命令行挂载 hgfs 分区:

sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other

#102 Re: 感芯科技 » 老电脑装Linux能恢复青春吗? » 2024-04-25 16:30:54

如果支持高速M.2固态硬盘,换上去真能焕发第二春

#105 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 讨论一下MQTT物联网安全问题 » 2024-04-13 11:11:32

lyg116 说:

用AES加密,并且用空中下发设备证书

这个下载不属于MQTT协议范围吧,请问具体怎么空中下载证书呢?

#106 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 讨论一下MQTT物联网安全问题 » 2024-04-07 20:21:00

也可以用专网卡,VPN用的SIM卡,比如水表、电表、燃气表、环境监测用这种方案。

#110 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » Ubuntu下普通用户运行 wpa_gui 出错的解决方案 » 2024-03-19 17:11:40

命令行测试:

wpa_cli -i wlx60fb00f2ccfb -p /var/run/wpa_supplicant/ scan

wpa_cli -i wlx60fb00f2ccfb -p /var/run/wpa_supplicant/ scan_result

wpa_cli -i wlx60fb00f2ccfb -p /var/run/wpa_supplicant/ status

#112 VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » Ubuntu下普通用户运行 wpa_gui 出错的解决方案 » 2024-03-19 16:53:31

ubuntu
回复: 2

修改socket文件的拥有者权限:

sudo chown -R ubuntu:ubuntu/var/run/wpa_supplicant/

#118 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 哔哩哔哩和抖音app免流的原理是什么? » 2023-12-26 12:14:42

dykxjh 说:

APP公司和电信、移动、联通合作

具体实现原理是什么呢?如果帆樯还免不免呢?

#120 Re: 全志 SOC » F1C200S在启动一路usb摄像头的时候,报了no space left on device » 2023-12-15 09:37:29

我知道你很急,但是请您先别急。

到底是内存不够,还是闪存不够?

#121 Re: 全志 SOC » 小白自制Linux开发板(F1C200s)整理系列,持续更新中 » 2023-12-03 23:51:17

随遇而安丶 说:

大佬厉害,能详细教一下我这手残党怎么焊芯片吗

先到芯片引脚上面上点锡,然后热风枪320度左右吹

#122 Re: 全志 SOC » 记录全志A133的u-boot读写设备树,免改固件在线调试 » 2023-11-30 16:48:29

fdt set /soc@03000000/lcd0@01c0c000/ lcd_x          <1024>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_y          <400>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_dclk_freq  <35>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_hbp        <170>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_ht         <1344>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_hspw       <20>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_vbp        <20>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_vt         <435>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_vspw       <5>







fdt set /soc@03000000/lcd0@01c0c000/ lcd_x          <1024>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_y          <600>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_dclk_freq  <52>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_hbp        <170>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_ht         <1364>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_hspw       <10>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_vbp        <20>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_vt         <635>
fdt set /soc@03000000/lcd0@01c0c000/ lcd_vspw       <5>

#123 Re: 全志 SOC » 记录全志A133的u-boot读写设备树,免改固件在线调试 » 2023-11-30 16:18:21

=> fdt set /soc@03000000/lcd0@01c0c000/ lcd_x <1025>
=> fdt get value xxx /soc@03000000/lcd0@01c0c000/ lcd_x
=> print xxx
xxx=0x00000401

#124 Re: 全志 SOC » 记录全志A133的u-boot读写设备树,免改固件在线调试 » 2023-11-30 16:13:28

_20231130161108.jpg

=> fdt get value xxx /soc@03000000/pinctrl@07022000/s_uart0@0/ allwinner,drive
=> print xxx
xxx=0x00000001
=> fdt get value xxx /soc@03000000/lcd0@01c0c000/ compatible
=> print xxx
xxx=allwinner,sunxi-lcd0

#125 全志 SOC » 记录全志A133的u-boot读写设备树,免改固件在线调试 » 2023-11-30 16:05:09

ubuntu
回复: 4

fdt get value xxx /soc@03000000/pinctrl@07022000/s_uart0@0/ allwinner,drive 3

#126 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 分享咸鱼上便宜的两款微型投影驱动玩玩,一款驱动简单,一款分辨率高,都是LCOS屏的。欢迎探讨交流 » 2023-11-28 11:28:22

wangchen 说:

一下子就想剁手了,到手每次又变垃圾

我下单了都申请退款了,我知道我只是想有一种曾经拥有的感觉。

#127 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 请问,现在很多soc有算力,比如0.5T或者1T,这样的片子具体应用在哪些场合呢? » 2023-11-27 15:22:39

能用的场合很多,需要识别的场合都能用。我的一个朋友都躺平了,用上自动识别游戏人物,自己打游戏,自动赚钱了。

#130 全志 SOC » 一个简单的 linux fb0 双缓冲切换demo » 2023-11-27 11:14:48

ubuntu
回复: 1
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <linux/fb.h>

#define WIDTH 480
#define HEIGHT 480
#define BYTES_PER_PIXEL 4

int main() {
    int fb = open("/dev/fb0", O_RDWR);
    if (fb == -1) {
        perror("Unable to open framebuffer");
        return 1;
    }

    struct fb_var_screeninfo vinfo;

    ioctl(fb, FBIOGET_VSCREENINFO, &vinfo);

    printf("vinfo.xres=%d, vinfo.yres=%d\n", vinfo.xres, vinfo.yres);
    printf("vinfo.xres_virtual=%d, vinfo.yres_virtual=%d\n", vinfo.xres_virtual, vinfo.yres_virtual);

    ioctl(fb, FBIOGET_VSCREENINFO, &vinfo);

    unsigned char *fbp = mmap(0, vinfo.yres_virtual * vinfo.xres * BYTES_PER_PIXEL, PROT_READ | PROT_WRITE, MAP_SHARED, fb, 0);

    // 填充第一个缓冲区
    for (int y = 0; y < vinfo.yres; y++)
        for (int x = 0; x < vinfo.xres; x++)
            *((unsigned long*)(fbp + 4*x + 4*y*vinfo.xres)) = 0xFF00FFFF;

    // 填充第二个缓冲区
    for (int y = vinfo.yres; y < 2*vinfo.yres; y++)
        for (int x = 0; x < vinfo.xres; x++)
            *((unsigned long*)(fbp + 4*x + 4*y*vinfo.xres)) = 0xFFFF00FF;



    int i = 0;
    while(1)
    {
        // 切换到第二个缓冲区
        vinfo.yoffset = (i++%2)*HEIGHT;
        printf("vinfo.yoffset = %d\n", vinfo.yoffset);

        if(0 != ioctl(fb, FBIOPAN_DISPLAY, &vinfo))
        {
                printf("fb iopan display error.\n");
        }

        sleep(1);
    }


    munmap(fbp, vinfo.yres_virtual * vinfo.xres * BYTES_PER_PIXEL);
    close(fb);

    return 0;
}

#131 Re: 全志 SOC » t113 udhcpc问题 » 2023-11-27 11:13:03

udhcpc就是这样的,执行前要执行 ifconfig eth0 up,

可能用别的dhcpc解决了这个问题。

#132 Re: 全志 SOC » V853网卡RTL8211F 1Gbps网卡时通时不通,是不是 tx-delay, rx-delay不对啊? » 2023-11-17 10:02:46

ethtool -s eth0 speed 10 duplex full autoneg on


强行改成10M,我这里各种路由器,各种网线都可以用了。

但是100M和1000M都不行

#134 Re: 全志 SOC » V853网卡RTL8211F 1Gbps网卡时通时不通,是不是 tx-delay, rx-delay不对啊? » 2023-11-16 16:58:03

=> fdt list /soc@03000000/pinctrl@02000000/gmac0@0/
gmac0@0 {
        allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15";
        allwinner,function = "rgmii";
        allwinner,drive = "0";
        allwinner,muxsel = <0x00000003>;
        allwinner,pull = <0x00000000>;
        linux,phandle = <0x00000097>;
        phandle = <0x00000097>;
};
=>
=>
=>
=> fdt set /soc@03000000/pinctrl@02000000/gmac0@0/ allwinner,drive 3
=>
=>
=> fdt list /soc@03000000/pinctrl@02000000/gmac0@0/
gmac0@0 {
        allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15";
        allwinner,function = "rgmii";
        allwinner,drive = "3";
        allwinner,muxsel = <0x00000003>;
        allwinner,pull = <0x00000000>;
        linux,phandle = <0x00000097>;
        phandle = <0x00000097>;
};
=>

#138 全志 SOC » A133 tina5 reboot 不成功,可能是什么问题引起呢? » 2023-11-15 12:05:56

ubuntu
回复: 0
root@OpenWrt:/#
root@OpenWrt:/# reboot
root@OpenWrt:/# [  131.812780] br-lan: port 1(eth0) entered disabled state
[  131.825385] device eth0 left promiscuous mode
[  131.830628] br-lan: port 1(eth0) entered disabled state
[  131.846463] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  136.189181] sunxi-mmc sdc2: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[  136.200895] [alarmtimer] have no shutdown alarm! alarmtimer_shutdown 322
[  137.161378] reboot: Restarting system

#139 Re: 工业芯 匠芯创 » RISC-V高性能显示控制跨界MCU D13x系列Datasheet » 2023-11-13 11:12:49

tangloong 说:

规格书 中文的  太棒了

让老外也体验一下中文四六级的酸爽。

#141 Re: 全志 SOC » 做了一块f1c200s小板子 » 2023-11-03 22:46:38

tangloong 说:

话说 EA3036 和 ASM1117 供电 使用上 差异大吗?ASM1117 成本更低吧?

1117效率低得吓人

#145 Re: 全志 SOC » 开源智能家居V3s CAN转以太网网关,附openwrt19.07.7 » 2023-10-13 15:48:39

make package/feeds/packages/canutils/compile V=s

make[1]: Entering directory '/opt2/openwrt/openwrt_v3s_can_gateway'
make[2]: Entering directory '/opt2/openwrt/openwrt_v3s_can_gateway/package/libs/toolchain'
echo "libc" >> /opt2/openwrt/openwrt_v3s_can_gateway/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
echo "libgcc" >> /opt2/openwrt/openwrt_v3s_can_gateway/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
echo "libpthread" >> /opt2/openwrt/openwrt_v3s_can_gateway/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
echo "librt" >> /opt2/openwrt/openwrt_v3s_can_gateway/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
make[2]: Leaving directory '/opt2/openwrt/openwrt_v3s_can_gateway/package/libs/toolchain'
time: package/libs/toolchain/compile#0.12#0.04#0.16
make[2]: Entering directory '/opt2/openwrt/openwrt_v3s_can_gateway/feeds/packages/utils/canutils'
mkdir -p /opt2/openwrt/openwrt_v3s_can_gateway/dl
SHELL= flock /opt2/openwrt/openwrt_v3s_can_gateway/tmp/.canutils-2017-02-16-cb33a557.tar.xz.flock -c '          /opt2/openwrt/openwrt_v3s_can_gateway/scripts/download.pl "/opt2/openwrt/openwrt_v3s_can_gateway/dl" "canutils-2017-02-16-cb33a557.tar.xz" "d9c01eeff3d81a28161ca5c3937ec005a1f49ca3eb97bee0164d53cc66365786" "" || (  /opt2/openwrt/openwrt_v3s_can_gateway/scripts/dl_github_archive.py --dl-dir="/opt2/openwrt/openwrt_v3s_can_gateway/dl" --url="https://github.com/linux-can/can-utils" --version="cb33a55720716cbe01e6025a2bda74a1b7e492d3" --subdir="canutils-2017-02-16-cb33a557" --source="canutils-2017-02-16-cb33a557.tar.xz" --hash="d9c01eeff3d81a28161ca5c3937ec005a1f49ca3eb97bee0164d53cc66365786" || (     echo "Checking out files from the git repository..."; mkdir -p /opt2/openwrt/openwrt_v3s_can_gateway/tmp/dl && cd /opt2/openwrt/openwrt_v3s_can_gateway/tmp/dl && rm -rf canutils-2017-02-16-cb33a557 && [ \! -d canutils-2017-02-16-cb33a557 ] && git clone  https://github.com/linux-can/can-utils canutils-2017-02-16-cb33a557 && (cd canutils-2017-02-16-cb33a557 && git checkout cb33a55720716cbe01e6025a2bda74a1b7e492d3 && git submodule update --init --recursive) && echo "Packing checkout..." && export TAR_TIMESTAMP=`cd canutils-2017-02-16-cb33a557 && git log -1 --format='\''@%ct'\''` && rm -rf canutils-2017-02-16-cb33a557/.git &&        tar --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name ${TAR_TIMESTAMP:+--mtime="$TAR_TIMESTAMP"} -c canutils-2017-02-16-cb33a557 |    xz -zc -7e > /opt2/openwrt/openwrt_v3s_can_gateway/tmp/dl/canutils-2017-02-16-cb33a557.tar.xz && mv /opt2/openwrt/openwrt_v3s_can_gateway/tmp/dl/canutils-2017-02-16-cb33a557.tar.xz /opt2/openwrt/openwrt_v3s_can_gateway/dl/ && rm -rf canutils-2017-02-16-cb33a557; );  )    '
echo "canutils" >> /opt2/openwrt/openwrt_v3s_can_gateway/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/canutils.default.install
echo "canutils-candump" >> /opt2/openwrt/openwrt_v3s_can_gateway/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/canutils.default.install
echo "canutils-cansend" >> /opt2/openwrt/openwrt_v3s_can_gateway/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/canutils.default.install
make[2]: Leaving directory '/opt2/openwrt/openwrt_v3s_can_gateway/feeds/packages/utils/canutils'
time: package/feeds/packages/canutils/compile#0.95#0.49#1.42
make[1]: Leaving directory '/opt2/openwrt/openwrt_v3s_can_gateway'

这个正常

#146 Re: 全志 SOC » 开源智能家居V3s CAN转以太网网关,附openwrt19.07.7 » 2023-10-13 15:34:23

Configuring luci.
Configuring luci-i18n-opkg-zh-cn.
Configuring procps-ng-top.
Configuring luci-i18n-opkg-en.
Configuring luci-i18n-base-en.
Configuring procps-ng-pmap.
Configuring kmod-ipt-offload.
Configuring urngd.
Configuring procps-ng-pgrep.
Configuring luci-i18n-firewall-zh-cn.
Configuring ppp-mod-pppoe.
Configuring canutils-candump.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for ip-full:
 *      libcap
 * opkg_install_cmd: Cannot install package ip-full.
package/Makefile:65: recipe for target 'package/install' failed
make[2]: *** [package/install] Error 255
make[2]: Leaving directory '/opt2/openwrt/openwrt_v3s_can_gateway'
package/Makefile:108: recipe for target '/opt2/openwrt/openwrt_v3s_can_gateway/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.package_install' failed
make[1]: *** [/opt2/openwrt/openwrt_v3s_can_gateway/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.package_install] Error 2
make[1]: Leaving directory '/opt2/openwrt/openwrt_v3s_can_gateway'
/opt2/openwrt/openwrt_v3s_can_gateway/include/toplevel.mk:225: recipe for target 'world' failed
make: *** [world] Error 2[/b]

[b]real    6m44.278s
user    5m32.328s
sys     1m35.930s
#

咦,编译错误了

#147 Re: 全志 SOC » 请问 eth0 和 wlan0 作为lan连接内网,且可以互通,eth1作为wan口接入互联网,这个用linux命令行怎么表达。 » 2023-10-11 18:11:44

这个aic8800 的wlan0 没法加入br0

# brctl addif br0 wlan0
can't add wlan0 to bridge br0: Operation not supported

查了一下

这个错误可能是由于你尝试将一个无线接口(wlan0)添加到网桥,但是许多无线设备并不支持这种操作。这是由于802.11 WiFi规定的限制和驱动程序实现的问题。

一种可能的解决方案是将无线接口设置为四层(IP层)而非二层(以太网层)的转发模式。你可以使用Linux的网络地址转换(NAT)功能或者IP路由来实现这个目标。例如,你可以使用iptables和netfilter来配置NAT和防火墙规则,从而允许通过wlan0接收到的数据包在eth0和其他接口之间转发。

另外一个方法是使用第三方工具,如hostapd,它可以将无线网卡设置为AP模式(如果硬件支持),然后创建一个虚拟的有线接口,并将该接口加入到网桥。

需要注意的是,具体的解决方案取决于你的具体需求和环境,包括你的硬件、驱动程序、网络环境和安全需求等因素。

感觉可能是驱动问题。

#149 Re: 全志 SOC » 请问 eth0 和 wlan0 作为lan连接内网,且可以互通,eth1作为wan口接入互联网,这个用linux命令行怎么表达。 » 2023-10-11 15:15:36

同一个 dhcpd 进程,可以同时给 eth0和wlan0分配ip吗?

#设置wifi网卡地址
ifconfig wlan0 192.168.0.1[/b]

#给wifi网卡设置dhcp服务器
mkdir -p /var/run/dhcp-server/
dhcpd wlan0 -cf /etc/dhcpd.conf -pf /var/run/dhcp-server/dhcpd.pid

#150 全志 SOC » 请问 eth0 和 wlan0 作为lan连接内网,且可以互通,eth1作为wan口接入互联网,这个用linux命令行怎么表达。 » 2023-10-11 15:13:45

ubuntu
回复: 7

请问 eth0 和 wlan0 作为lan连接内网,且可以互通,eth1作为wan口接入互联网,这个用linux命令行怎么表达。

#151 Re: 全志 SOC » F1C100s裸奔DMA-TCON方式的Framebuffer,代码不到5KB!(附ST7789的RGB接口裸机驱动) » 2023-10-05 17:43:49

lzw 说:

IM012不是设置好那种模式,为什么还要用SPI配置

RGB模式需要SPI初始化,因为分辨率和gamma等通过spi配置

#152 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 有啥办法能在手机不知道的情况下把屏幕数据送到电脑上? » 2023-10-02 20:29:01

艰夫 说:

scrcpy不行,第一容易被反外挂发现,第二速度慢延迟大

scrcpy 有什么特征会别反外挂发现呢? 延迟应该不大吧,就是用adb命令抓屏而已。

#153 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 有啥办法能在手机不知道的情况下把屏幕数据送到电脑上? » 2023-10-02 17:30:51

之前是电子工程师,现在失业送外卖,不过送外卖也没单。没外挂只能吃西北风了

楼主是搞笑的吗?

试一试这个方案:

投屏软件scrcpy在Linux上的移植(porting scrcpy to linux)
https://whycan.com/t_2736.html#p22190

#155 Re: 全志 SOC » 手头有个野火的imx开发板,没有屏幕,默认烧录的镜像有fb0设备,用fbgrab也可以抓到图,我想安装个vncserver实时看fb0的图片 » 2023-09-17 20:15:09

3050311118 说:
哇酷小二 说:

都不是的话,试一试这个:

https://github.com/ponty/framebuffer-vncserver

成功了,还可以鼠标控制,太牛了https://whycan.com/files/members/5129/微信截图_20230917192134.png

6666

分享一下怎么弄出来的

#156 Re: 全志 SOC » 终于搞定f1c100s的i2s输出 » 2023-08-28 08:29:42

Water_bros 说:

@xfdr0805
dsd什么的还是算了,能输出24bit/192kHz就满足了

放弃吧,这芯片性能太差了,如果跑mp3解码,那ui就不动了。

#158 Re: Cortex M0/M3/M4/M7 » 灵动微 MCU 开发板赠送活动 » 2023-08-08 18:24:40

srovio 说:

@IOsetting
听说是把做广告推广的预算资金拿来补贴这种超低价的板子了

这把操作666

#159 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 记录一下常用易忘的Linux日常操作 » 2023-08-06 08:46:33

不打包某个文件夹:

tar cvf sdk_20230806.tar --exclude=/opt/me/out /opt/me/

#160 Re: 全志 SOC » 深入研究T113 EFUSE,现已扩展XFEL工具,并支持烧写T113熔丝位 » 2023-07-12 22:47:42

就是说编程 LCJS 之后,是启动SBROM,否则是启动BROM?

#161 Re: 全志 SOC » 深入研究T113 EFUSE,现已扩展XFEL工具,并支持烧写T113熔丝位 » 2023-07-12 21:45:20

要启用加密引导模式,需要将LCJS段里面的某个bit写1,就启用加密引导了,如果这个时候rotpk段还没有写入,那么全志的会引导任何一个加密引导固件,不进行任何校验,但只要写入了rotpk(非全0),就需要校验了。

rotpk,其实就是RSA2048公钥的SHA256摘要,总共256bit,这个在烧写时,必须保留好RSA2048私钥,否则就像锁门并焊死锁孔。

这个brom完成的吗?如果 LCJS段里面的某个bit写1,而且写入了 写入了rotpk,那么我裸奔受影响吗?

#163 Re: 全志 SOC » 深入研究T113 EFUSE,现已扩展XFEL工具,并支持烧写T113熔丝位 » 2023-07-12 20:30:04

@xboot
是不是还有一些对用户不可见的efuse,厂家提前编程的区域?

#164 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 24岁工地仔裸辞转行嵌入式 大佬们有什么建议吗 » 2023-06-23 01:10:22

如果能挤出时间,不建议裸辞。

可以试着网上学习,找一份薪水低一点的相关工作,边工作边学习。

#165 Re: 全志 SOC » 全志R128来袭,有想入坑的吗?我先来点初步研究成果 » 2023-05-14 09:19:19

jlau 说:

有人知道r128使用psram的逻辑吗?
psram里面应该也是sdram,为什么不直接用sdram?

节省晶圆面积?

#166 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL 学习记录 » 2023-05-04 23:12:44

#include "lvgl/lvgl.h"

#define DOUBLE_CLICK_TIME_MS 300 // 双击事件的最大时间间隔(毫秒)

static uint32_t last_click_time = 0;

static void btn_event_cb(lv_obj_t * obj, lv_event_t event)
{
    if (event == LV_EVENT_SHORT_CLICKED) {
        uint32_t now = lv_tick_get();

        if ((now - last_click_time) < DOUBLE_CLICK_TIME_MS) {
            printf("Double click!\n");
            last_click_time = 0;
        }
        else {
            printf("Single click.\n");
            last_click_time = now;
        }
    }
}

int main(void)
{
    lv_init();

    // 创建一个按钮控件
    lv_obj_t * btn = lv_btn_create(lv_scr_act(), NULL);

    // 设置按钮的单击事件回调函数
    lv_obj_set_event_cb(btn, btn_event_cb);

    while(1) {
        lv_task_handler(); // 处理 LVGL 任务
    }

    return 0;
}
在上面的示例中,当按钮被单击时,btn_event_cb() 回调函数会被触发,并检查两次事件之间的时间间隔。如果小于固定时间间隔,则输出 "Double click!",否则输出 "Single click."。

请注意,本示例代码使用了 lv_tick_get() 函数来获取当前系统时间,该函数需要您配置并启用 LVGL 的计时器(在 lv_conf.h 中进行配置)。另外,您可以通过修改 DOUBLE_CLICK_TIME_MS 宏来自定义双击事件的时间间隔。

#167 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL 学习记录 » 2023-05-04 17:21:27

void my_event(lv_event_t * e)
{
    lv_event_code_t code = lv_event_get_code(e);
    static uint32_t t;
    if(code == LV_EVENT_PRESSED) {
        t = lv_tick_get();
    } 
    else if(code == LV_EVENT_PRESSING) {
        if(lv_tick_elaps(t) > 3000) {
            /*Do something*/
        }
    }
}

#168 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL 学习记录 » 2023-05-04 13:42:59

static void drag_event_handler(lv_event_t * e)
{
    lv_obj_t * obj = lv_event_get_target(e);

    lv_indev_t * indev = lv_indev_get_act();
    lv_point_t vect;
    lv_indev_get_vect(indev, &vect);

    lv_coord_t x = lv_obj_get_x(obj) + vect.x;
    lv_coord_t y = lv_obj_get_y(obj) + vect.y;
    lv_obj_set_pos(obj, x, y);
}


/**
 * Make an object dragable.
 */
void lv_example_obj_2(void)
{
    lv_obj_t * obj;
    obj = lv_obj_create(lv_scr_act());
    lv_obj_set_size(obj, 150, 100);
    lv_obj_add_event_cb(obj, drag_event_handler, LV_EVENT_PRESSING, NULL);

    lv_obj_t * label = lv_label_create(obj);
    lv_label_set_text(label, "Drag me");
    lv_obj_center(label);

}

拖拽屏幕上面的控件

#169 Re: 全志 SOC » R528-s3点7.84" MIPI屏 » 2023-04-20 13:29:24

这是用什么软件抓包?

#173 Re: 全志 SOC » 想在V3s上驱动墨水屏,并开启fb设备,发现从framebuffer中无法更新画面 » 2023-03-23 22:44:32

可以多提供一点信息分析分析,比如用什么接口,用什么驱动芯片。

#176 Re: 全志 SOC » 昨天有朋友在 Q群问如何读spi nor flash(W25Q128/MX25L256)的唯一Id(UID), 刚好最近要用到,放狗搜了一圈 » 2022-12-24 20:31:49

Download new driver file m25p80.c

diff the origin m25p80.c and my m25p80.c

64,66d63
< /* Used for Winbond flashes only. */
< #define OPCODE_WINBOND_ID    0x4b    /* Get flash unique id */
< 
1001,1016d997
< /* flash unique id probe */
< static int unique_id_prob(struct spi_device *spi, u8 *id)
< {
<     int			tmp;
<     u8			code[5];
< 
<     code[0] = OPCODE_WINBOND_ID;
<     tmp = spi_write_then_read(spi, &code, 5, id, 8);
<     if (tmp < 0) {
<         pr_debug("%s: error %d reading UNIQUE ID\n",
<                 dev_name(&spi->dev), tmp);
<         return tmp;
<     }
<     return 0;
< }
< 
1125,1136d1105
<     /* show unique id in kernel debug log for w25q64 or w25q128. */
<     if(info->jedec_id == 0xef4017 || info->jedec_id == 0xef4018) {
<         u8 unique_id[8];
<         if(!unique_id_prob(spi, unique_id)) {
<             dev_warn(&spi->dev, "flash id: %02x%02x%02x%02x%02x%02x%02x%02x\n",
<                     unique_id[7], unique_id[6], unique_id[5], unique_id[4],
<                     unique_id[3], unique_id[2], unique_id[1], unique_id[0]);
<         } else {
<             dev_warn(&spi->dev, "failed to get flash unique id.\n");
<         }
<     }
< 

#177 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL 学习记录 » 2022-12-23 19:35:37

QQ截图20221223193308.png



    else if(code == LV_EVENT_PRESSED) {
        colorwheel->last_change_time = lv_tick_get();
        lv_indev_get_point(lv_indev_get_act(), &colorwheel->last_press_point);
        res = double_click_reset(obj);
        if(res != LV_RES_OK) return;
    }
    else if(code == LV_EVENT_PRESSING) {
        lv_indev_t * indev = lv_indev_get_act();
        if(indev == NULL) return;

        lv_indev_type_t indev_type = lv_indev_get_type(indev);
        lv_point_t p;
        if(indev_type == LV_INDEV_TYPE_ENCODER || indev_type == LV_INDEV_TYPE_KEYPAD) {
            p.x = obj->coords.x1 + lv_obj_get_width(obj) / 2;
            p.y = obj->coords.y1 + lv_obj_get_height(obj) / 2;
        }
        else {
            lv_indev_get_point(indev, &p);
        }

        lv_coord_t drag_limit = indev->driver->scroll_limit;
        if((LV_ABS(p.x - colorwheel->last_press_point.x) > drag_limit) ||
           (LV_ABS(p.y - colorwheel->last_press_point.y) > drag_limit)) {
            colorwheel->last_change_time = lv_tick_get();
            colorwheel->last_press_point.x = p.x;
            colorwheel->last_press_point.y = p.y;
        }

        p.x -= obj->coords.x1;
        p.y -= obj->coords.y1;

        /*Ignore pressing in the inner area*/
        uint16_t w = lv_obj_get_width(obj);

        int16_t angle = 0;
        lv_coord_t cir_w = lv_obj_get_style_arc_width(obj, LV_PART_MAIN);

LVGL双击实现 double click

#179 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 请问我可以设置Ubuntu的Framebuffer size吗?软件在嵌入式系统fb(800*1280)跑, 我想在Ubuntu下用fb模拟 » 2022-12-19 21:02:27

拉轰的脚踏车 说:

晕, 用 fbset 就可以了, 实时随意调整分辨率:

fbset -xres 800 -yres 1280


真是没想到如此简单。

ubuntu18.04 不行

#180 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL 学习记录 » 2022-12-10 19:20:10

lv_obj_t* slider1;
lv_obj_t *label1, *label2;

void button_event_cb(lv_event_t* e)
{
    lv_slider_set_value(slider1, 100, LV_ANIM_OFF);
}

void slider_event_cb(lv_event_t* e)
{
    int32_t value = lv_slider_get_value(slider1);
    char valueStr[32];

    value = lv_slider_get_left_value(slider1);
    snprintf(valueStr, sizeof(valueStr), "%d", value);
    lv_label_set_text(label1, (valueStr));

    value = lv_slider_get_value(slider1);
    snprintf(valueStr, sizeof(valueStr), "%d", value);
    lv_label_set_text(label2, (valueStr));
}

void lv_demo_test2()
{
    slider1 = lv_slider_create(lv_scr_act());

    lv_obj_center(slider1);
    
    lv_slider_set_range(slider1, -255, 255);
    lv_slider_set_mode(slider1, LV_SLIDER_MODE_RANGE);
    lv_obj_add_event_cb(slider1, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);
    label1 = lv_label_create(lv_scr_act());
    label2 = lv_label_create(lv_scr_act());
    lv_obj_align_to(label1, slider1, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 10);
    lv_obj_align_to(label2, slider1, LV_ALIGN_OUT_BOTTOM_RIGHT, 0, 10);

    lv_slider_set_left_value(slider1, -100, LV_ANIM_OFF);
    lv_slider_set_value(slider1, 100, LV_ANIM_OFF);
    lv_obj_set_size(slider1, 20, 200);

    lv_obj_t* button1 = lv_btn_create(lv_scr_act());
    lv_obj_t* label3 = lv_label_create(button1);
    lv_label_set_text(label3, "Test");
    lv_obj_add_event_cb(button1, button_event_cb, LV_EVENT_CLICKED, NULL);
    lv_obj_align_to(button1, slider1, LV_ALIGN_OUT_BOTTOM_MID, 0, 30);
}

_20221210191949.png

#181 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL 学习记录 » 2022-12-10 19:02:18

lv_obj_t* slider1;
lv_obj_t *label1, *label2;

void slider_event_cb(lv_event_t* e)
{
    int32_t value = lv_slider_get_value(slider1);
    char valueStr[32];

    value = lv_slider_get_left_value(slider1);
    snprintf(valueStr, sizeof(valueStr), "%d", value);
    lv_label_set_text(label1, (valueStr));

    value = lv_slider_get_value(slider1);
    snprintf(valueStr, sizeof(valueStr), "%d", value);
    lv_label_set_text(label2, (valueStr));
}

void lv_demo_test2()
{
    slider1 = lv_slider_create(lv_scr_act());

    lv_obj_center(slider1);
    
    lv_slider_set_range(slider1, -255, 255);
    lv_slider_set_mode(slider1, LV_SLIDER_MODE_RANGE);
    lv_obj_add_event_cb(slider1, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);
    label1 = lv_label_create(lv_scr_act());
    label2 = lv_label_create(lv_scr_act());
    lv_obj_align_to(label1, slider1, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 10);
    lv_obj_align_to(label2, slider1, LV_ALIGN_OUT_BOTTOM_RIGHT, 0, 10);

}

_20221210190159.png

#182 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL 学习记录 » 2022-12-10 12:22:48

lv_obj_t* led1 = lv_led_create(lv_scr_act());

茴的三种写法,三种居中方法:

    lv_obj_set_align(led1, LV_ALIGN_CENTER);
    lv_obj_center(led1);
    lv_obj_align(led1, LV_ALIGN_CENTER, 0, 0);

#184 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL 学习记录 » 2022-12-06 17:01:11

短按触发事件顺序:
Pressed
Released
Short clicked
Clicked

长按触发事件顺序:
Pressed
Long press
Long press repeat
Long press repeat
Long press repeat
Long press repeat
Long press repeat
Long press repeat
Long press repeat
Long press repeat
Long press repeat
Released
Clicked

#185 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » LVGL 学习记录 » 2022-12-06 16:36:47

ubuntu
回复: 10
    static lv_indev_drv_t pointer_driver;
    lv_indev_drv_init(&pointer_driver);
    pointer_driver.type = LV_INDEV_TYPE_POINTER;
    pointer_driver.read_cb = lv_win32_pointer_driver_read_callback;
    pointer_driver.feedback_cb = btn_feedback_event_cb;
    lv_win32_pointer_device_object = lv_indev_drv_register(&pointer_driver);
void btn_feedback_event_cb(lv_indev_drv_t* indev_drv, lv_event_code_t event)
{
    printf("btn_feedback_event_cb\n");
    switch (event)
    {
    case LV_EVENT_PRESSED:
        printf("Pressed\n");
        break;

    case LV_EVENT_SHORT_CLICKED:
        printf("Short clicked\n");
        break;

    case LV_EVENT_CLICKED:
        printf("Clicked\n");
        break;

    case LV_EVENT_LONG_PRESSED:
        printf("Long press\n");
        break;

    case LV_EVENT_LONG_PRESSED_REPEAT:
        printf("Long press repeat\n");
        break;

    case LV_EVENT_RELEASED:
        printf("Released\n");
        break;

    default:
        printf("nothing\n");
        break;
    }
}

#187 Re: 全志 SOC » 试一试把 V3s 当做 无线 wifi 热点 » 2022-09-29 18:14:51

BR2_PACKAGE_DHCP=y

这个软件占用内存太多了,

嵌入式的话建议用busybox自带的 udhcpd,内存占用优秀太多了。

#188 Re: 上海航芯 » Linux开发环境下试玩ACM32F403RET7开发板 » 2022-07-02 22:04:25

牛叉, 第一次看到搞单片机的朋友只用Linux的。

#189 Re: 全志 SOC » 【小智出品】安卓4寸86面板开发板SW106开卖啦,2.54排针引出IO。 » 2022-06-14 08:55:13

bigbigcong 说:

1个G的片上内存!也是人才啊,,,话说这个芯片在网上怎么找不到相关的资料?是最新出的吗?

SW106 手册: SW106_Datasheet V1.0.pdf

#191 Re: 君正Ingenic/X1000/X2000/T10/T20/T30 » 小白求助!君正T31N uboot启动卡住 » 2022-05-15 20:26:17

qlOvQlp 说:
ubuntu 说:

看来DDR有问题?

有可能,我准备再焊一块板试试

闲鱼的二手芯片,更有可能了。

#193 Re: 全志 SOC » R6 » 2022-05-11 14:20:12

sun3iw1p1-r6.dtsi:           
sun3iw1p1.dtsi:               
sun3iw1p1-violin-F1C200s.dtsi:
sun3iw1p1-r6-pinctrl.dtsi:   

R6就是 F1C的马甲

#194 Re: 全志 SOC » 不雷同开源送两片,可选 D1/ D1s/ V3x/XR806/XR829/XR32/R11【长期有效】, F1C200s/V3s暂停 » 2022-05-10 20:53:20

titishev 说:

FC100s芯片比V3s芯片好在哪里?

更便宜,而且F1C100s 有 TVIN/TVOUT

#195 Re: 全志 SOC » 不雷同开源送两片,可选 D1/ D1s/ V3x/XR806/XR829/XR32/R11【长期有效】, F1C200s/V3s暂停 » 2022-05-10 17:20:24

mysteryli 说:

这几个片子 有双核的吗

数过来数过去,居然一个都没有。

#197 Re: 全志 SOC » 搞定 T113 / T113-S3 裸奔驱动CAN (转) » 2022-05-10 11:25:05

#define  CAN0  0x02504000
#define  CAN1  0x02504400


#define CAN_OFFSET(can_base,offset)          (*((volatile uint32_t *)(can_base + (offset))))

#define CAN_MSEL(can_base)       CAN_OFFSET(can_base,0x0000) //CAN mode select register
#define CAN_CMD(can_base)        CAN_OFFSET(can_base,0x0004)  //CAN command register
#define CAN_STA(can_base)        CAN_OFFSET(can_base,0x0008)  //CAN status register
#define CAN_INT(can_base)        CAN_OFFSET(can_base,0x000C)  //CAN interrupt register
#define CAN_INTEN(can_base)      CAN_OFFSET(can_base,0x0010) //CAN interrupt enable register
#define CAN_BUSTIME(can_base)    CAN_OFFSET(can_base,0x0014) //CAN bus timing register
#define CAN_TEWL(can_base)       CAN_OFFSET(can_base,0x0018)  //CAN TX error warning limit register
#define CAN_ERRC(can_base)       CAN_OFFSET(can_base,0x001c)  //CAN error counter register
#define CAN_RMCNT(can_base)      CAN_OFFSET(can_base,0x0020)  //CAN receive message counter register
#define CAN_RBUF_SADDR(can_base) CAN_OFFSET(can_base,0x0024) //CAN receive buffer start address register
#define CAN_TRBUF0(can_base)     CAN_OFFSET(can_base,0x0040) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF1(can_base)     CAN_OFFSET(can_base,0x0044) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF2(can_base)     CAN_OFFSET(can_base,0x0048) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF3(can_base)     CAN_OFFSET(can_base,0x004c) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF4(can_base)     CAN_OFFSET(can_base,0x0050) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF5(can_base)     CAN_OFFSET(can_base,0x0054) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF6(can_base)     CAN_OFFSET(can_base,0x0058) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF7(can_base)     CAN_OFFSET(can_base,0x005c) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF8(can_base)     CAN_OFFSET(can_base,0x0060) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF9(can_base)     CAN_OFFSET(can_base,0x0064) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF10(can_base)    CAN_OFFSET(can_base,0x0068) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF11(can_base)    CAN_OFFSET(can_base,0x006c) //CAN TX/RX message buffer 0 register
#define CAN_TRBUF12(can_base)    CAN_OFFSET(can_base,0x0070) //CAN TX/RX message buffer 0 register
#define CAN_ACPC(can_base)       CAN_OFFSET(can_base,0x0028) //CAN acceptance code 0 register(reset mode)
#define CAN_ACPM(can_base)       CAN_OFFSET(can_base,0x002C) //CAN acceptance mask 0 register(reset mode)
#define CAN_RBUF_RBACK(can_base) CAN_OFFSET(can_base,0x0180) //~0x1b0 //CAN transmit buffer for read back register
#define CAN_VERSION(can_base)    CAN_OFFSET(can_base,0x0300) //CAN Version Register




typedef  struct _t113_can_control_t_
{
  volatile uint32_t  * can_clk_gate;
  uint32_t  can_base;
  uint32_t  int_id;
  
}t113_can_control_t;


t113_can_control_t t113_can[2] = 
{
  {
    (volatile uint32_t  *)0x0200192C,
    0x02504000,
    53
  },
  {
    (volatile uint32_t  *)0x0200192C,
    0x02504400,
    54
  }
    
};

uint32_t rxd_buf[13];

void t113_can_irq_handle(void*  p)
{
   uint32_t    can_base = (uint32_t) p;
   uint32_t    int_sta =   CAN_INT(can_base);
   if(int_sta &  1)
   {
       /* 接收中断 */
       can_read_data(can_base,rxd_buf);
       /*  后续处理  */
   }
   if(int_sta & 2 )
   {
      /*发送中断*/    
   }
   if(int_sta & 0xFC )
   {
      /* 错 误 中断  */
   }
   
   CAN_INT(can_base) = int_sta;
   
}
       

void ini_can(int can_id)
{
    if(can_id > 1) return;
    
    GPIOB->CFG0  &= ~(0xff00 <<  (can_id * 8));
    GPIOB->CFG0  |=  (0x8800 <<  (can_id * 8)); 
    GPIOB->DRV0  |=  (0x3300 <<  (can_id * 8));
    
    t113_can_control_t * can_info = &t113_can[can_id];
    
    uint32_t   can_base = can_info->can_base;
    
    int can_int_id = can_info->int_id;

    *can_info->can_clk_gate  |= (1 << (16 + can_id)) | (1 << can_id);/* CCU_CAN_BGR */
    
    
   
    CAN_MSEL(can_base) |= 1; /* Reset mode selected*/
   /* 500KHz CAN速率 */
    CAN_BUSTIME(can_base) = (9          /* apb_clk = 100Mz , 100/10 = 10MHz*/ 
                           | (1 << 14)   /* Synchronization Jump Width :2 Tq clock cycles */
                           | (13 << 16)  /*Phase Segment 1 : 14 Tq clock cycles  */
                           | ( 3 << 20)  /*Phase Segment 2 :  4 Tq clock cycles  */
                           | ( 0 << 23));  /*  Bus line is sampled three times at the sample point */
  
   CAN_ACPC(can_base)  = 0xffffffff; /*实际使用时根据需要设置滤波*/
   CAN_ACPM(can_base)  = 0xffffffff; /*实际使用时根据需要设置滤波*/
   
   
   CAN_MSEL(can_base) &= (~1); 
   
   // CAN_MSEL(can_base) |= (1 << 2); /* Loopback Mode */
  
   CAN_MSEL(can_base) |= (1 << 3);/* Single Filter  */
   
   
   bsp_int_vect_set(can_int_id,  /* Assign ISR handler. */
                   1u,            /* 中断的优先级         */
                   1u,            /* 中断的目标CPU        */
                   (void *)can_base,        /* 参数      */
                   t113_can_irq_handle);
  
   
    irq_enable(can_int_id);//
    /* 使能中断  */
    CAN_INTEN(can_base) = 0x0FF;
    
}
void can_send_data(uint32_t    can_base,uint8_t * buf,int  len)
{
  
    CAN_CMD(can_base) |= (1 << 2);
  
    CAN_MSEL(can_base) &= (~1); 
     
    int retry = 1000;
    do{
      
       if(--retry == 0) break;
    }while(!(CAN_STA(can_base) & (1 << 2)));
    
    if(retry == 0) return;//
    
    uint32_t * des =  &CAN_TRBUF0(can_base);
    
    for(int i = 0; i < len; i++)
     des[i] = buf[i];
     
    //CAN_CMD(can_base) = (1 << 4);
     CAN_CMD(can_base) |= (1 << 0);
}
void can_read_data(uint32_t    can_base,uint8_t * buf)
{
    uint32_t * src =  &CAN_TRBUF0(can_base);
    for(int i = 0; i < 13; i++)
       buf[i] = (char)src[i];
   
     CAN_CMD(can_base) |= (1 << 2);
}


uint8_t can_teat_data[13] = 
   {
      8,
      0,
      0x80,
      0x55, /*   SFF - TX data byte 1 / EFF- ID[12:5]  */
      0x55, /*  SFF-TX data byte2[7:3] / EFF-ID[4:0]
                SFF-TX data byte2[2:0] */  
      0x55, /* SFF-TX data byte 3 / EFF-TX data byte 1 */
      0x55, /* SDATA4_EDATA2  SFF-TX data byte 4 / EFF-TX data byte 2  */
      0x55, /* SDATA5_EDATA3 SFF-TX data byte 5 / EFF-TX data byte 3   */
      0x55,/* SDATA5_EDATA4  SFF-TX data byte 6 / EFF-TX data byte 4   */
      0x55,/* SDATA5_EDATA5  SFF-TX data byte 7 / EFF-TX data byte 5   */
      0x55,/* SDATA5_EDATA6  SFF-TX data byte 8 / EFF-TX data byte 6   */
      0x55, /* SDATA5_EDATA7   */
      0x55 /*  SDATA5_EDATA8   */
   };


/* can_id: is 0 or 1 */
void t113_can_test(void)
{
    ini_can(0);
    ini_can(1);
    
   while(1)
   {
    
    can_send_data(CAN0,can_data);
     ms_delay(500);
    can_send_data(CAN1,can_data);
     ms_delay(500);

   }
   
}

#200 Re: 全志 SOC » 分享荔枝派zero V3s gc0312 / gc0308 mjpg-streamer IP摄像头固件 » 2022-05-01 18:54:39

QQ图片20220501185344.jpg

_20220501184303.png

楼主牛啊, 居然连网线都省了,直接 USB RNDIS 网卡搞定!

页脚

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

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


太原小智科技有限责任公司 - 东莞哇酷科技有限公司联合开发