您尚未登录。

楼主 #1 2019-01-31 16:31:46

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

购买链接: https://item.taobao.com/item.htm?id=577885964488


编程软件下载: https://pan.baidu.com/s/1igA4lkOgEJZL1uj-6NkABQ


参考链接: https://whycan.cn/t_2121.html

CH55X固件烧录软件: http://www.wch.cn/downloads/WCHISPTool_Setup_exe.html








驱动安装方式: https://whycan.cn/t_444.html
下载: zadig-2_3_exe.7z
驱动选择 libusb-win32

------------------------------------------------------
2019-02-01 更新:
已经可以读到spi flash数据了: https://whycan.cn/t_2129.html#p15015





离线

楼主 #2 2019-01-31 16:33:38

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

QQ20190131163244.jpg

QQ20190131163249.jpg

QQ20190131163254.jpg





离线

楼主 #3 2019-01-31 16:35:41

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

QQ20190131163417.jpg

QQ20190131162400.png

如果接上转接板, 那么会获取USB设备描述符失败.





离线

楼主 #4 2019-01-31 17:01:34

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

QQ20190131170000.png

如果不插入芯片转接板, 烧录软件与CH522G通讯, 提示[没有检测到芯片].





离线

楼主 #5 2019-01-31 17:04:47

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

QQ20190131170008.png

然后插入芯片转接板, 提示 [编程器未接入]

至此, 折腾了一个小时, 啥也没干成, 就写了这个帖子.





离线

楼主 #8 2019-02-01 13:31:42

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

Alexi2008 说:

上面那块小板子,旋转180℃后,向下对齐

Alexi2008 说:

@晕哥,座子1脚要对着卡座把柄那头





非常感谢指教, 终于搞定, 因为我在使用手册上面并没有发现, 淘宝卖家也没有回复,

所以就自以为是了。


QQ20190201132808.png

QQ20190201133045.jpg





离线

楼主 #9 2019-02-01 14:24:51

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

QQ20190201142341.png

感觉读 32M spi flash还不是很稳定.





离线

楼主 #10 2019-02-01 16:32:20

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

2019-02-01_163101.gif

这是我朋友逆向的原理图。





离线

楼主 #11 2019-02-01 16:41:15

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

果然不支持 hub, 卖家诚不欺我。





离线

楼主 #13 2019-02-02 12:32:17

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

达克罗德 说:

很羡慕晕哥有这么一位强大神秘的朋友

灰常这位朋友把原理图发给我了,而且低调到不愿意署名.





离线

楼主 #14 2019-02-02 14:25:23

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

QQ20190202142325.png

这就尴尬了, 这个烧录器没有这玩意,想改装成开发板还得补个电阻和按键。





离线

楼主 #17 2019-02-02 17:08:16

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

厉害得一塌糊涂,我先看帖跟上步奏。





离线

楼主 #18 2019-02-02 21:15:16

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

QQ20190202210414.png

QQ20190202211113.png

可是 这个瑶杰电子(www.yaojiedianzi.com) 和 智峰(www.zhifengsoft.com) 有什么基友关系呢?





离线

楼主 #20 2019-02-08 18:04:04

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

jiangming1399 说:

不支持Hub是什么鬼

应该是固件兼容性,或者上位机烧录软件没做好





离线

楼主 #22 2019-02-12 21:30:12

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

QQ20190212212645.jpg

QQ20190212212642.png

D+ 接一个电阻上拉到 VCC, 中间串一个按钮,按下按钮,插入USB, 电脑会出现一个USB设备, 可以用官方的烧录软件烧录了.





离线

楼主 #26 2019-03-07 17:53:52

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

2019-03-07_175127.png

抓了一下点击检测按钮时候的通讯协议。

软件发送:
[0x00, 0x09, 0x00, 0x00, 0x01, 0x00, 0x03, 0xE8, 0x02, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x40, 0x19]





离线

楼主 #27 2019-03-08 09:21:45

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,237
积分: 9197

Re: 买了两个CH552G烧录器, 感觉就是一个实验品, 没有用起来, 难道真的只能做开发板用?

参考链接: https://www.soft-switch.org/downloads/line6/usbtest.c

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <libusb-1.0/libusb.h>

#define USB_VID         0x1fc8
#define USB_PID         0x300b
#define INTERFACE_NUM   0
#define ENDPOINT_A      0x02
#define ENDPOINT_B      0x82

/* For USB communication */
#define TMOUT 500
#define LENGTH 64

libusb_device_handle *burner_hand;

void dumpit(int x, unsigned char msg[], int len)
{
    int i;

    if (len == 0)
        return;
    printf("%3d: ", x);
    for (i = 0;  i < len;  i++)
        printf("%02x ", msg[i]);
    printf("\n");
}


int start_burner()
{
    int i;
    int j;
    int ret;
    int received;
    int ok;
    unsigned char msg[LENGTH];

    if (burner_hand == NULL)
    {
        /* Initialize libusb */
        if ((ret = libusb_init(NULL)))
            return ret;

        /* Get a handle for the device */
        if ((burner_hand = libusb_open_device_with_vid_pid(NULL, USB_VID, USB_PID)) == NULL)
        {
            libusb_exit(NULL);
            return -100;
        }
        /* Detach any kernel driver */
        if ((ret = libusb_kernel_driver_active(burner_hand, 0)))
        {
            if ((ret = libusb_detach_kernel_driver(burner_hand, 0)))
            {
                stop_burner();
                return ret;
            }
        }
        /* Claim the device */
        /* Interface 0 is audio. Interface 1 is control */
        if ((ret = libusb_claim_interface(burner_hand, INTERFACE_NUM)))
        {
			printf(" 33333333333333 \n");
            stop_burner();
            return ret;
        }
    }

    memset(msg, 0, sizeof(msg));
	//0x00, 0x09, 0x00, 0x00, 0x01, 0x00, 0x03, 0xE8, 0x02, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x40, 0x19
    msg[0] = 0x00;
    msg[1] = 0x09;
    msg[2] = 0x00;
    msg[3] = 0x00;
    msg[4] = 0x01;
    msg[5] = 0x00;
    msg[6] = 0x03;
    msg[7] = 0xE8;
    msg[8] = 0x02;
    msg[9] = 0x00;
    msg[10] = 0x00;
    msg[11] = 0x00;
    msg[12] = 0x00;
    msg[13] = 0xEF;
    msg[14] = 0x40;
    msg[15] = 0x19;

	if ((ok = libusb_bulk_transfer(burner_hand, ENDPOINT_A, msg, 64, &received, TMOUT)))
		exit(2);

	printf("Sent %d %d\n", ok, received);
    if ((ok = libusb_bulk_transfer(burner_hand, ENDPOINT_B, msg, LENGTH, &received, 5*TMOUT)))
        ; //exit(2);

	printf("Received %d %d\n", ok, received);
	dumpit(0, msg, received);


    return 0;
}

int stop_burner(void)
{
    int ret;

    if (burner_hand)
    {
        /* Release claimed interface */
        ret = libusb_release_interface(burner_hand, INTERFACE_NUM);
        if (ret  &&  (ret != LIBUSB_ERROR_NO_DEVICE))
        {
            /* Close opened interface */
            libusb_close(burner_hand);
            burner_hand = NULL;
            return ret;
        }

#if 0
        if (ret != LIBUSB_ERROR_NO_DEVICE)
        {
            /* Re-attach kernel driver */
            if ((ret = libusb_attach_kernel_driver(burner_hand, 0)))
                return ret;
        }
#endif

        /* Close opened interface */
        libusb_close(burner_hand);
        burner_hand = NULL;

        /* Stop using libusb */
        libusb_exit(NULL);
    }

    return 0;
}

int main(int argc, char *argv[])
{
    if (start_burner())
    {
        printf("Failed to connect to burner\n");
        exit(2);
    }

    if (stop_burner())
    {
        printf("Failed to disconnect from burner\n");
        exit(2);
    }
	else
	{
        printf("Disconnect from burner sucessful!\n");
	}
    return 0;
}

Ubuntu编译方法:

gcc -o test usbtest.c -lusb-1.0

2019-03-08_092220.png





离线

页脚

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

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