您尚未登录。

#1 Re: 全志 SOC » v851s g2d 模块 sample 深究 » 2023-07-10 09:19:34

v851s可以输出1080P60格式的视频吗?

#2 Re: RK3288/RK3399/RK1108 » drm plane rotate操作 疑问 » 2021-11-04 14:52:05

jlau 说:

drmModeObjectSetProperty()


尝试通过这个接口设置支持rotate的plane,但是不行。

void set_plane_property(int fd, int plane_id,struct property_arg *p)
{

    drmModeObjectPropertiesPtr props;
    drmModePropertyPtr pt;
    const char *obj_type;
    int ret;
    int i;

    props = drmModeObjectGetProperties(fd, plane_id,
                DRM_MODE_OBJECT_PLANE);

    if(props){
        for (i = 0; i < (int)props->count_props; ++i) {

            pt = drmModeGetProperty(fd, props->props[i]);

            if (!pt)
                continue;
            if (strcmp(pt->name, p->name) == 0){
                drmModeFreeProperty(pt);
                break;
            }

            drmModeFreeProperty(pt);
        }

        if (i == (int)props->count_props) {
            printf("%i has no %s property\n",p->obj_id, p->name);
            return;
        }

        p->prop_id = props->props[i];

        ret = drmModeObjectSetProperty(fd, p->obj_id, p->obj_type,
                           p->prop_id, p->value);
        if (ret < 0)
            printf("faild to set property %s,id %d,value %d\n",p->obj_id, p->name, p->value);

        drmModeFreeObjectProperties(props);
    }
}
void set_rotation(int fd, int plane_id,int value)
{
    struct property_arg prop;


    if(value !=1 && value !=2 && value !=4 && value !=8)
        return;

    memset(&prop, 0, sizeof(prop));
    prop.obj_type = 0;
    prop.name[DRM_PROP_NAME_LEN] = '\0';
    prop.obj_id = plane_id;
    memcpy(prop.name,"rotation",sizeof("rotation"));
    prop.value = value; //rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8, modetest -p can show the details
    set_plane_property(fd,plane_id,&prop);

}
set_rotation(fd,plane_res->planes[index], 0x1);

#3 Re: RK3288/RK3399/RK1108 » drm plane rotate操作 疑问 » 2021-11-04 14:45:31

Dorothy 说:

没看懂你的需求是啥,如果用的是官方默认的Linux的SDK,输入下面的命令看看;

echo "output:all:rotate90"> /tmp/.weston_drm.conf # All screens are rotated 90 degrees

先说正常情况:竖屏1080x1920的plane,播放视频,需要1080x1920分辨率的。一般视频是1920x1080格式,如果想在竖屏播放,必须rotate后成1080x1920的才可以发送给plane.
需求就是:想通过设置drm plane的rotate属性,比如设置旋转90度,之后向此plane发送1920x1080的视频,此plane是不是就可以“在内部rotate后”,显示到1080x1920的屏幕上?

#4 RK3288/RK3399/RK1108 » drm plane rotate操作 疑问 » 2021-11-02 15:59:14

xyyangkun
回复: 5

使用的rk3568, 接了dsi竖屏:

163	162	connected	DSI-1          	0x0		1	162
  modes:
	name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
  1080x1920 62 1080 1116 1120 1150 1920 1926 1928 1934 138000 flags: nhsync, nvsync; type: preferred, driver

有支持rotate的plane,这个plane如何使用?如果我设置roate 90或270后,是不是可以将横屏的1920x1080数据,直接发送到竖屏(1080x1920)上进行显示?
目前rotate操作是调用opencl 旋转后送到竖屏drm显示的。

131	0	0	0,0		0,0	0       	0x00000003
  formats: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV16 NV24 NA12 NA16 NA24
  props:
	8 type:
		flags: immutable enum
		enums: Overlay=0 Primary=1 Cursor=2
		value: 0
	30 IN_FORMATS:
		flags: immutable blob
		blobs:

		value:
			01000000000000000e00000018000000
			0a000000500000005852323441523234
			58423234414232345247323442473234
			52473136424731364e5631324e563136
			4e5632344e4131324e4131364e413234
			ff1b0000000000000000000000000000
			0100000000000008ff1b000000000000
			00000000000000004100000000000008
			ff1b0000000000000000000000000000
			1100000000000008ff1b000000000000
			00000000000000008100000000000008
			ff1b0000000000000000000000000000
			5100000000000008ff1b000000000000
			0000000000000000c100000000000008
			ff1b0000000000000000000000000000
			9100000000000008ff1b000000000000
			0000000000000000d100000000000008
			ff1b0000000000000000000000000000
			7100000000000008ff3f000000000000
			00000000000000000000000000000000
		in_formats blob decoded:
			 XR24:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 AR24:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 XB24:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 AB24:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 RG24:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 BG24:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 RG16:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 BG16:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 NV12:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 NV16:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 NV24:  LINEAR
			 NA12:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 NA16:  (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) (UNKNOWN MODIFIER) LINEAR
			 NA24:  LINEAR
	133 rotation:
		flags: bitmask
		values: rotate-0=0x1 rotate-90=0x2 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
		value: 0
	134 alpha:
		flags: range
		values: 0 65535
		value: 65535
	135 pixel blend mode:
		flags: enum
		enums: None=2 Pre-multiplied=0 Coverage=1
		value: 0
	136 zpos:
		flags: range
		values: 0 7
		value: 6
	137 NAME:
		flags: immutable bitmask
		values: Cluster1-win0=0x40
		value: 64
	138 FEATURE:
		flags: immutable bitmask
		values: scale=0x1 afbdc=0x10
		value: 17
	139 INPUT_WIDTH:
		flags: immutable range
		values: 0 4096
		value: 0
	140 INPUT_HEIGHT:
		flags: immutable range
		values: 0 2304
		value: 0
	141 OUTPUT_WIDTH:
		flags: immutable range
		values: 0 4096
		value: 0
	142 OUTPUT_HEIGHT:
		flags: immutable range
		values: 0 2304
		value: 0
	143 SCALE_RATE:
		flags: immutable range
		values: 4 4
		value: 0
	144 colorkey:
		flags: range
		values: 0 2164260863
		value: 0

#6 Re: 全志 SOC » 本人DIY的全志V3S小板,半卖半送,同时准备制作第三版 » 2021-03-28 15:53:38

串口防漏电是指《有时v3s死机时,断开电源还不行,必须端口串口才能再次启动》,是吗?

#8 Re: VMWare/Linux/Ubuntu/Fedora/CentOS/U-BOOT » 找到一篇关于Linux usb gadget 非常使用的说明和使用教程 » 2020-08-15 22:52:39

firstman 说:

https://whycan.cn/files/members/1574/2019-09-19_113155.png

linux usb gadget驱动简直太好用, 随便配置一下就是一个复合USB设备, 这是我的 S5PV210 开发板。

https://www.kernel.org/doc/Documentation/usb/gadget_configfs.txt

mount -t configfs none /sys/kernel/config

modprobe libcomposite
modprobe usb_f_serial
modprobe usb_f_fs
modprobe usb_f_hid

modprobe usb_f_acm
sleep 2
cd /sys/kernel/config/usb_gadget/

if [ ! -d /sys/kernel/config/usb_gadget/g1 ]; then
	mkdir g1
	cd g1
	echo 0x8087 > idVendor
	echo 0x101e > idProduct
	mkdir strings/0x409
	echo 012345678 > strings/0x409/serialnumber
	echo Intel > strings/0x409/manufacturer
	echo IoTplatform > strings/0x409/product
	mkdir functions/acm.GS0
	mkdir functions/ffs.adb
	mkdir functions/hid.usb0

	
	# setup hid parameters for the keyboard function
	echo 1 > functions/hid.usb0/protocol
	echo 1 > functions/hid.usb0/subclass
	echo 8 > functions/hid.usb0/report_length
	echo -ne "\x05\x01\x09\x06\xA1\x01\x05\x07\x19\xE0\x29\xE7\x15\x00\x25\x01\x75\x01\x95\x08\x81\x02\x95\x01\x75\x08\x81\x03\x95\x05\x75\x01\x05\x08\x19\x01\x29\x05\x91\x02\x95\x01\x75\x03\x91\x03\x95\x06\x75\x08\x15\x00\x25\x65\x05\x07\x19\x00\x29\x65\x81\x00\xC0" > functions/hid.usb0/report_desc

	
	mkdir configs/c.1
	mkdir configs/c.1/strings/0x409
	echo "adb+cdc" > configs/c.1/strings/0x409/configuration
	echo 120 > configs/c.1/MaxPower
	ln -s functions/acm.GS0 configs/c.1
	ln -s functions/ffs.adb/ configs/c.1
	ln -s functions/hid.usb0 configs/c.1/
	

	
	mkdir /dev/usb-ffs
	mkdir /dev/usb-ffs/adb
	mount -t functionfs adb /dev/usb-ffs/adb
	adbd &

fi

echo s3c-hsotg > UDC

请问用的linux是哪个版本?还是用的android

#10 Re: 全志 SOC » 众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡 » 2020-05-10 09:21:57

[   26.600400] Adding 905212k swap on /var/swap.  Priority:-2 extents:4 across:1167356k SSFS
[   66.371975] esp8089_spi: loading out-of-tree module taints kernel.
[   66.396631] esp8089_spi: EAGLE DRIVER VER bdf5087c3deb
[   67.015290] esp8089_spi: esp_spi_dummy_probe enter
[   67.015484] esp8089_spi: register board OK
[   67.015497] esp8089_spi: sem_timeout = 0
[   67.226446] esp8089_spi: ESP8089 power up OK
[   67.226881] esp8089_spi: esp_spi_probe ENTER
[   67.226892] esp8089_spi: esp_setup_spi
[   67.226920] esp8089_spi: sif_spi_protocol_init
[   67.226933] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1559
[   67.226940] esp8089_spi: fail_count = 0
[   67.352574] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00]
[   67.453473] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1559
[   67.453485] esp8089_spi: fail_count = 1
[   67.561299] rx:[0x3f],[0x09],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   67.662171] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1559
[   67.662184] esp8089_spi: fail_count = 2
[   67.770685] rx:[0xff],[0xff],[0x01],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   68.375609] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1578
[   68.380606] rx:[0xff],[0xff],[0x01],[0x10],[0xff],[0xff],[0x00],[0xff],[0xff],[0xff]
[   68.884734] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1591
[   68.888699] rx:[0xff],[0xff],[0x00],[0x90],[0xff],[0xff],[0x00],[0xff],[0xff],[0xff]
[   69.392803] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1603
[   69.397658] rx:[0xff],[0x00],[0x02],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   69.901795] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1617
[   69.907142] rx:[0xff],[0x00],[0x03],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   70.411257] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1630
[   70.415723] rx:[0xff],[0x00],[0x02],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   70.919875] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1643
[   70.931100] rx:[0xff],[0x00],[0x03],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   71.435197] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   71.439793] rx:[0xff],[0x00],[0x00],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   71.943983] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   71.950147] rx:[0xff],[0x00],[0x25],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   72.454206] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   72.458791] rx:[0xff],[0x00],[0x10],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   72.963012] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   72.968017] rx:[0xff],[0x00],[0x12],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   73.472106] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   73.476040] rx:[0xff],[0x00],[0x00],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   73.980207] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   73.984614] rx:[0xff],[0x00],[0x06],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   74.488777] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   74.493607] rx:[0xff],[0x00],[0x00],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   74.997712] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   75.002035] rx:[0xff],[0x00],[0x00],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   75.506140] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1668
[   75.509766] rx:[0xff],[0x00],[0x00],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   75.509787] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1681
[   75.509929] rx:[0xff],[0x00],[0x02],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   75.509941] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1694
[   75.510079] rx:[0xff],[0x00],[0x01],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   76.530982] esp8089_spi: esp_pub_init_all
[   76.531125] esp8089_spi: esp_download_fw
[   77.025219] esp8089_spi: sif_platform_irq_init enter
[   77.244191] esp_host:bdf5087c3deb
               esp_target: e826c2b3c9fd 57 18202

[   77.244321] esp_readwrite_file: file /system/lib/modules/test_results filp_open error
[   77.245832] esp8089_spi: first normal exit
[   77.245848] esp8089_spi: esp_spi_probe EXIT
[   77.246132] esp8089_spi: sem_timeout = 0
[   77.246206] esp8089_spi: esp_spi_remove
[   77.376590] esp8089_spi: esp_spi_probe ENTER
[   77.376606] esp8089_spi: esp_setup_spi
[   77.376614] esp8089_spi: sif_spi_protocol_init
[   77.376628] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1559
[   77.376634] esp8089_spi: fail_count = 0
[   77.485191] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00]
[   77.586224] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1559
[   77.586238] esp8089_spi: fail_count = 1
[   77.693635] rx:[0x3f],[0x09],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   77.794564] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1559
[   77.794577] esp8089_spi: fail_count = 2
[   77.901298] rx:[0xff],[0xff],[0x01],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   78.506161] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1578
[   78.510096] rx:[0xff],[0xff],[0x01],[0x10],[0xff],[0xff],[0x00],[0xff],[0xff],[0xff]
[   79.014201] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1591
[   79.019392] rx:[0xff],[0xff],[0x00],[0x90],[0xff],[0xff],[0x00],[0xff],[0xff],[0xff]
[   79.523503] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1603
[   79.528183] rx:[0xff],[0x00],[0x02],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   80.032309] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1617
[   80.036776] rx:[0xff],[0x00],[0x03],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   80.540880] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1630
[   80.545516] rx:[0xff],[0x00],[0x02],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   81.049727] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1643
[   81.061853] rx:[0xff],[0x00],[0x03],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   81.565989] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   81.570411] rx:[0xff],[0x00],[0x00],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   82.074605] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   82.079556] rx:[0xff],[0x00],[0x25],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   82.583775] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   82.589059] rx:[0xff],[0x00],[0x10],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   83.093204] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   83.145532] rx:[0xff],[0x00],[0x12],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   83.649765] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   83.654466] rx:[0xff],[0x00],[0x00],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   84.158628] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   84.163003] rx:[0xff],[0x00],[0x06],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   84.667139] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   84.671465] rx:[0xff],[0x00],[0x00],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   85.175548] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1655
[   85.180071] rx:[0xff],[0x00],[0x00],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   85.684170] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1668
[   85.689675] rx:[0xff],[0x00],[0x00],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   85.689695] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1681
[   85.689837] rx:[0xff],[0x00],[0x02],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   85.689851] esp8089_spi: /data/raspberry/8266/ESP8089-SPI/spi_sif_esp.c, 1694
[   85.689987] rx:[0xff],[0x00],[0x01],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
[   86.710515] esp8089_spi: esp_pub_init_all
[   86.710532] esp8089_spi: esp_download_fw
[   87.314819] esp8089_spi: sif_platform_irq_init enter
[   87.363840] esp_host:bdf5087c3deb
               esp_target: e826c2b3c9fd 57 18202

[   87.588031] esp8089_spi: esp_spi_probe EXIT
[   87.588344] esp8089_spi: esp_spi_init err 0
[   88.913171] esp_op_add_interface STA
[   88.915054] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   90.110801] wlan0: authenticate with 20:dc:e6:fd:c9:77
[   90.111152] wlan0: send auth to 20:dc:e6:fd:c9:77 (try 1/3)
[   90.122334] wlan0: authenticated
[   90.126579] wlan0: associate with 20:dc:e6:fd:c9:77 (try 1/3)
[   90.137107] wlan0: RX AssocResp from 20:dc:e6:fd:c9:77 (capab=0x431 status=0 aid=2)
[   90.137311] wlan0: associated
[   90.571333] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

成功把8266当成wifi网卡,之前的出现以下错误是en脚没有使能。直接接到3.3V后,可以下载固件,并正常加载ko.

[   72.081984] rx:[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00],[0x00]
[   72.182922] esp8089_spi: first error exit
[   72.182938] esp8089_spi: esp_spi_probe EXIT
[   72.187142] eagle: probe of spi0.0 failed with error -110
[   72.187353] esp8089_spi: sem_timeout = 0
[   72.187367] esp8089_spi: esp_spi_init err 0
[  177.692206] esp8089_spi: esp_spi_exit

#11 Re: 全志 SOC » 众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡 » 2020-05-03 17:24:37

请问,想用这个spi接8266,一定要把flash焊掉吗?我这边用的nodemcu, 拆壳比较费劲!!

#12 Re: 全志 SOC » 众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡 » 2020-05-01 19:47:03

1. 可以用iperf测试这个网卡的收发数据的性能。
2. esp8266的 GPIO15/MTDO  必需是拉高的状态吗?

#13 Re: 全志 SOC » 众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡 » 2020-04-25 11:24:10

迪卡 说:

现在有/dev/spi0.0节点呢,spi应该可以用了。
现在不知道esp8266与板子连接的spi是哪几个脚。
因为github上那个人用的不是8266的spi脚

这个是不是需要通过spi把8266的固件传过去后,8266才可以正常工作?我看这个代码里好像没有8266的固件。
这一步考虑没?

#14 Re: ESP32/ESP8266 » https访问一定要证书吗? » 2020-04-25 11:14:06

域名访问https才有必要使用证书,ip访问就没必要了。证书就是防止中间人攻击

#15 Re: 全志 SOC » 众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡 » 2020-04-23 22:11:02

F1C100S的spi操作与树莓派相同吗? 这个移植的关键是把spi通信搞通吧

#16 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 打造 HI3518 摄像头从入门到放弃最强帖 » 2020-04-22 22:31:07

这个zigbee模块有什么有?有搞过这方面开发的不?
看里面的固件与雄迈的有点像,是不是雄迈OEM的?

#18 DOPI开源摄像头(HI3516/HI3518) » 拆解一个Hi3516CV300的雄迈网络相机 » 2020-04-18 12:37:45

xyyangkun
回复: 12

先上个拆机图
3516Cv300拆机图

3516Cv300的usb可以做uvc,之后找了接口定义,这个pcb也留有usb接口。理论接出来后,可以做uvc摄像头开发。

之后装上ttl,这个找G T R 就不说了。

从uboot打印和环境变量等,可以得到如下配置信息:
有线网口rtl8201f,108030编码,128Mddr3  8M spi flash

Block:64KB Chip:8MB Name:"XM25Q64AHIG"
at hifmc100_setTB() sr: 0x8 <<111>>.
unlock all.
SPI Nor total size: 8MB
sensor ar0237

uboot环境变量:

bootargs=init=linuxrc mem=${osmem} console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=squashfs mtdparts=hi_sfc:0x30000(boot),0x2E0000(romfs),0x300000(user),0x160000(web),0x40000(custom),0x50000(mtd)
bootcmd=setenv setargs setenv bootargs ${bootargs};run setargs;sf probe 0;sf read 83000000 30000 2E0000;squashfsload;bootm 0x82000000
bootdelay=1
baudrate=115200
ipaddr=192.168.1.10
serverip=192.168.1.107
netmask=255.255.255.0
bootfile="uImage"
da=tftp 0x82000000 u-boot.bin.img;sf probe 0;flwrite
du=tftp 0x82000000 user-x.cramfs.img;sf probe 0;flwrite
dr=tftp 0x82000000 romfs-x.cramfs.img;sf probe 0;flwrite
dw=tftp 0x82000000 web-x.cramfs.img;sf probe 0;flwrite
dl=tftp 0x82000000 logo-x.cramfs.img;sf probe 0;flwrite
dc=tftp 0x82000000 custom-x.cramfs.img;sf probe 0;flwrite
up=tftp 0x82000000 update.img;sf probe 0;flwrite
ua=mw.b 0x82000000 ff 1000000;tftp 0x82000000 upall_verify.img;sf probe 0;flwrite
tk=tftp 0x82000000 uImage;setenv setargs setenv bootargs ${bootargs};run setargs;bootm 0x82000000
dd=mw.b 0x82000000 ff 1000000;tftp 0x82000000 mtd-x.jffs2.img;sf probe 0;flwrite
ethaddr=00:12:17:95:cf:8c
NID=0x0001
osmem=65M
appSystemLanguage=SimpChinese
appVideoStandard=PAL
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06-svn706 (Oct 09 2017 - 14:57:23)

Environment size: 1291/65532 bytes

备份官方flash镜像:
sf probe 0; sf read 82000000 0 800000
把整个flash镜像通道tftp上传到服务器:
tftp 82000000 xx.bin 800000

如果不放心,可以通过crc32校验下上传的文件与读出来的是否一致:crc32  82000000  800000


通过uboot环境变量,可以知道flash上的分区表,以解开,编辑,重新打包romfs为例:
获取romfs:   dd if=xx.bin of=romfs.bin bs=1k skip=192 count=2944
查看squashfs压缩类型和块大小:Compression xz             Block size 262144
解包:            unsquashfs romfs.bin
打包:             sudo mksquashfs ./squashfs-root/ romfs.bin  -b 256k -noappend -all-root  -comp lzma
烧写:    sf probe 0; tftp 82000000 romfs.bin ; sf erase 0x30000 0x2E0000; sf write 82000000  0x30000  0x2E0000

erase时提示保护,但是运行sa时,就解锁了。
锁flash: sf lock level/all     解锁: sf lock 0
锁全部:sf lock 8    sf lock all



其它地方找的相关型号,接口定义:
IPG80H20PS-S

实物接口图
接口定义1
接口定义2

页脚

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

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