页次: 1
还可以看看这个 https://github.com/ppvision/PicoXTools
web的操作界面挺不错的
https://whycan.com/t_10018.html
难道就是上面这个同事
搜到了 “微凉VeiLiang”的博客
“目前常见的soc芯片用的usb接口的IP常见的就那么几种。其中用的最多的要数Synopsys(新思科技)公司下的DesignWare系的DWC和MentorGraphics公司下的Musb。采用dwc的常见芯片有STM32,RK3288等,而采用musb的有am335x,pic32等。而全志的F1C100S则是采用musb的usb phy ip,其中寄存器的地址偏移有修改,不是标准的musb寄存器排布顺序。这里给出musb官方的编程指导文档musb_programming_guide.pdf。”
-------------------------
原来如此, 并且下载了4.x的kernel, mubs下sunxi.c的文件
里面有 "allwinner,sun8i-a33-musb"
摸索一两天了,还没什么方向. 有没有哪位高手遇到类似的问题, 或者成功绑定过UDISK分区进行升级的帮忙瞅几眼, 谢谢了.
问题是这样的:
平台: A33 + lichee (EMMC 4G)
目标: 用官方工具升级image, 可以更新UDISK分区的内容.
动作: 修改 sys_partition.fex 给UDISK分区指定了 downloadfile
现象: 可以发现生成的image确实变大.
通过官方的工具 PhoenixSuit 升级后, 发现UDISK 分区(mmcblk0p1) 里的内容始终不对
里面的数据不是绑定的diskfs.fex的内容, 而是不知道什么数据
里面的内容 从地址0x00 开始一直都是0x00
然后从 0x8000000 开始有数据
0x18000000, 0x28000000 都是和0x8000000 出的数据相同
另外: 全志创建的分区信息, 用fdisk -l 查看, 感觉有错啊, 扩展分区的大小好像计算小了.
diskfs.fex 是我用mkfs.vfat创建的, 内容应该没问题. 在linux主机下可以手动挂载,并查看到其中内容.
下面是我的分区信息
----------------------------------------------
----------------------------------------------
;---------------------------------------------------------------------------------------------------
; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串
;---------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------
; 固件下载参数配置
;---------------------------------------------------------------------------------------------------
;***************************************************************************************************
; mbr的大小, 以Kbyte为单位
;***************************************************************************************************
[mbr]
size = 16384
;***************************************************************************************************
; 分区配置
;
;
; partition 定义范例:
; [partition] ; //表示是一个分区
; name = USERFS2 ; //分区名称
; size = 16384 ; //分区大小 单位: 扇区.分区表示个数最多2^31 * 512 = 2T
; downloadfile = "123.fex" ; //下载文件的路径和名称,可以使用相对路径,相对是指相对于image.cfg文件所在分区。也可以使用绝对路径
; keydata = 1 ; //私有数据分区,重新量产数据将不丢失
; encrypt = 1 ; //采用加密方式烧录,将提供数据加密,但损失烧录速度
; = ? ; //私有用法
; verify = 1 ; //要求量产完成后校验是否正确
;
; 注:1、name唯一, 不允许同名
; 2、name最大12个字符
; 3、size = 0, 将创建一个无大小的空分区
; 4、为了安全和效率考虑,分区大小最好保证为16M字节的整数倍
;***************************************************************************************************
[partition_start]
[partition]
name = boot-res
size = 32768
downloadfile = "boot-resource.fex"
user_type = 0x8000
[partition]
name = env
size = 32768
downloadfile = "env.fex"
user_type = 0x8000
[partition]
name = boot
size = 32768
downloadfile = "boot.fex"
user_type = 0x8000
[partition]
name = rootfs
size = 2097152
downloadfile = "rootfs.fex"
user_type = 0x8000
[partition]
name = UDISK
downloadfile = "diskfs.fex"
user_type = 0x8100
还有个 bget, 挺好使的
http://www.fourmilab.ch/bget/
https://whycan.cn/files/members/3/2019-04-17_080606.png
如果跑 Linux 4.10 系统, 建议用 buildroot 配置时候选 Linux 4.9.x kernel headers
如果选 Linux 4.10.x kernel headers 仍然可能出现一样的 kernel too old 错误然后宕机.
kernel 4.10, 头文件却要选 4.9.x 这有点说不通诶.
A33平台 USB 插拔无反应
----FEX 的配置如下----------------
841 [usbc1]
842 usb_used = 1
843 usb_drv_vbus_gpio = port:PB02<1><0><default><0>
844 usb_restrict_gpio =
845 usb_host_init_state = 1
846 usb_restric_flag = 0
847 usb_regulator_io = "nocare"
848 usb_regulator_vol = 0
849 usb_not_suspend = 0
kernel 中usb的debug log已经开了, 插拔usb设备, dmesg 没有任何反应.
看上去 PB02 始终为0
想请教诸位:
PB02 什么时候会被置1? 有相关的测试命令可以用吗?
真的是很烦 说:@晕哥 我也刚买了个CSI的摄像头, 正在翻论坛的帖子.
看以往的记录, 主线linux 不支持csi 摄像头?https://github.com/torvalds/linux/blob/master/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
看这个文件的历史提交记录:
https://github.com/torvalds/linux/commits/master/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c2018-11-23 之后主线才正式支持 CSI DVP 摄像头, 南京一家公司提交的代码.
理论上支持 V3s(S3), A31, H3, A64 等全志芯片了
static const struct of_device_id sun6i_csi_of_match[] = {
{ .compatible = "allwinner,sun6i-a31-csi", },
{ .compatible = "allwinner,sun8i-h3-csi", },
{ .compatible = "allwinner,sun8i-v3s-csi", },
{ .compatible = "allwinner,sun50i-a64-csi", },
{},
};
完了, 用的sun8i-a33 还没在列表里,
看样又有个坑等着跳了
找到个这个 : https://github.com/wang-bin/QtAV
Hardware decoding suppprt: DXVA2, VAAPI, VDA/VideoToolbox, CedarX, CUDA(the 1st player support CUDA on linux?)
有CedarX哦
---@sbox:~/workspace/python/invokeC$ cat test.c
#include <stdio.h>
int test_int(void)
{
printf("return int 0x55\n");
return 0x55;
}
char *test_str(void)
{
printf("return the string\n");
return "string from C";
}
---@sbox:~/workspace/python/invokeC$ cat main.py
import ctypes
so = ctypes.CDLL("./libtest.so")
ret = so.test_int()
print ret
ret = so.test_str()
print ctypes.c_char_p(ret)
---@sbox:~/workspace/python/invokeC$
https://github.com/allwinner-zh/media-codec/
这个看起来好像全志官方放出来的代码,
有点挑编译器,
还有好多坑,
没有编译完。
这个坑有进展没?
用的什么芯片? 这个呢
https://github.com/stulluk/FFmpeg-Cedrus
昨天下班回去又试了一会, 声音目前已经可以了, 显示部分发现
dtb里面没有把fb打开,
24 framebuffer@0 {
25 compatible = "allwinner,simple-framebuffer", "simple-framebuffer";
26 allwinner,pipeline = "de_be0-lcd0-hdmi";
27 clocks = <0x00000002 0x00000024 0x00000002 0x0000002b 0x00000002 0x0000002c 0x00000003 0x00000004 0x00000005 0x0000001a>;
28 status = "disabled";
29 };
我又从 http://mirrors.ustc.edu.cn/debian/dists/stable/main/installer-armhf/current/images/device-tree/sun7i-a20-cubieboard2.dtb 下载了debian的dtb文件
发现他们的也是没有使能这个 framebuffer 的, 那就疑惑了, 难道不需要使能这个?
买的显示器还没到, 目前只能瞎猜了, 一步一个坑
A20 应该直接可以从这里克隆 https://github.com/torvalds/linux/
然后使用对应的配置文件编译就可以了吧?
这个就是主线kernel啊
那我用的linux4.6应该也是可以的, config用的是默认的 arch/arm/configs/sunxi_defconfig
估计是好多选项没开吧, 烧录个debian, config对比一下
cubieboard2吗?
建议你去找debian的系统,debian能直接支持cubieboard的板子,内核设备驱动俱佳
http://mirrors.ustc.edu.cn/debian/dists/stable/main/installer-armhf/current/images/hd-media/SD-card-images/
谢谢. 恩, 这是个思路, 去看看他们怎么编译的..
真的是很烦 说:晕哥 说:就是搜A20才找到这个版块的, 刚接触全志的芯片, 看了不少帖子, 总算是前进了一步
直接用 buildroot 可以编译出官方烧录镜像 img文件?
是的. 最后生成的sdcard.img 就可以直接烧录进去
>>> Executing post-image script board/cubietech/cubieboard2/post-image.sh
vfat(boot.vfat): adding file 'zImage' as 'zImage' ...
vfat(boot.vfat): adding file 'sun7i-a20-cubieboard2.dtb' as 'sun7i-a20-cubieboard2.dtb' ...
vfat(boot.vfat): adding file 'boot.scr' as 'boot.scr' ...
hdimage(sdcard.img): adding partition 'u-boot' from 'u-boot-sunxi-with-spl.bin' ...
hdimage(sdcard.img): adding partition 'boot' (in MBR) from 'boot.vfat' ...
hdimage(sdcard.img): adding partition 'rootfs' (in MBR) from 'rootfs.ext4' ...
hdimage(sdcard.img): writing MBR
就是搜A20才找到这个版块的, 刚接触全志的芯片, 看了不少帖子, 总算是前进了一步
我的板子是cubieboard2, 想搭建个环境用来做个QT的应用.
官方的给的版本有些久了, 正好发现 buildroot-2018.02.5 中有 cubieboard2 的config, 于是国庆几天就试了一下.
解压buildroot-2018.02.5, 使用其中的 configs/cubieboard2_defconfig , 编译很顺畅.
cubieboard2 是EMMC版本的, 其中有几个注意点
1. uboot.config 中设置 CONFIG_MMC_SUNXI_SLOT_EXTRA=2
2. 修改linux中的dts, 添加mmc2
3. boot.cmd中修改分区root=/dev/mmcblk1p2
生成的sdcard.img烧录进emmc可以启动并进入shell
kernel 4.6
QT 5.6
下面还有好多的坑在等着, 硬件加速等等, 真的是很烦
页次: 1