This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM3359:USB 端点配置

Guru**** 2919940 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/661464/am3359-usb-endpoint-configuration

器件型号:AM3359

你好

每一次体验

这是东京的 Tomiyama。

非常感谢您的帮助。

我不知道如何 将 USB_DEV_serial 驱动程序的端点设置为 USB_CORE?

我尝试将一个"starware"示例添加到不带 sys.lib 和 usb.lib 的 USB_dev_serial、

但我发现无法将端点地址设置为 USB 寄存器。

我找到 了" 技术参考手册"、只有 "140Eh"索引需要编写、

我不是 USB 驱动程序的基址来设置内插0缓冲器。

希望您能尽快提供帮助。

最恰当的考虑

Tomiyama

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tomiyama、

    USB0 EP0基地址将位于 USB0内核中、其地址为0x47401400。
    USB1内核基地址将在0x47401C00。

    查看 USB LLD 中的文件 C:\ti\pdk_am335x_1_0_9\packages/ti\drv\usb\src\musb\musb.c、了解这些 EP 寄存器所在位置的更多信息。

    USB0和 USB1分别对应于 USB 端口0和 USB 端口1。

    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Lali

    这是东京的 Tomiyama。
    感谢您的回答。
    我尝试这样做、但在我接收数据之前、我遇到了一个将 PC 作为设备连接到 PC 的问题。
    我发现活动的 RQ 是 UART2、而不是固件中的 USB0。
    应将哪个寄存器设置为 USB0的活动 IRQ?
    请帮帮我。 等待您的答案。
    此致。
    以下是设置的设置例程:

    /* USB 频谱模块启用*/
    IOREG32 (SYS_base、SYS_CTRL_USB_WKUP_CTRL)=0x0001;
    /* USB 控制模块启用*/
    IOREG32 (PRCM0_BASE、PRC_CM_WKUP_REGS (0x4))= 0x0002;
    /* USB 控制模块软复位、在 USBDCDCInit()中复位*/
    //IOREG32 (USBSS_BASE、0x1014)= 0xC0000009;// USB0CTRL *

    //
    //最初未配置。
    //
    G_bUSBConfigured = false;

    //
    //配置 ARM 中断控制器以生成光栅中断
    //
    USBInterruptEnable();

    //
    //Initialize the Rx and TX Buffers (//初始化 Rx 和 TX 缓冲区)
    //
    USBBufferInit ((tUSBBuffer *)&g_sTxBuffer);
    USBBufferInit ((tUSBBuffer *)&g_sRxBuffer);
    /* USB_ctrl0 */
    IOREG32 (SYS_BASE、SYS_CTRL_USB_CTRL (0))= 0x3C06404;/* USB_ctrl0*/
    IOREG32 (SYS_BASE、SYS_CTRL_USB_CTRL (1))= 0x3C05007;/* USB_ctrl1*

    IOREG32 (PRCM0_BASE、0x1C)= 0x02;// CM_PER_USB0_CLKCTRL *
    IOREG32 (PRCM0_BASE、0x70)= 0x02;// CM_PER_UART2_CLKCTRL *
    IOREG32 (PRCM0_BASE、0xDC)= 0x02;// CM_PER_L3_INSTR_CLKCTRL *
    IOREG32 (PRCM0_BASE、0xE0)= 0x02;// CM_PER_L3_INSTR_CLKCTRL *

    //IOREG32 (0x44E00700、0x04)= 0x02;// CM_MPU_MPU_CLKCTRL *

    IOREG32 (SYS_base、0x0A1C)= 0x0F; /* conf_ _ *

    IOREG32 (USB0_BASE、0x0240)= 0x80028002;// IRQFRAMEENABLE0 *
    IOREG32 (USB0_BASE、0x1074)= 0xC0000002;// USB0CTRL *

    IOREG32 (USB0_BASE、0x1038)= 0xFFFFFFFF;/* IRQSET0 */
    IOREG32 (USB0_BASE、0x103C)= 0xFFFFFFFF;// IRQSET1 *
    IOREG32 (USB0_BASE、0x1044)= 0x000003CF; /* IRQ 使能*/
    IOREG32 (USB0_BASE、0x10E8)= 0x00000180;// USB0待ちモード*
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tomiyama、

    请参阅您在同一主题 e2e.ti.com/.../2436995上进行的另一个主题

    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lali
    这是 Tomiyama。
    非常感谢、我会尝试一下。

    此致
    Tomiyama
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lali

    这是东京的 Tomiyama。

    非常感谢您的帮助。

    我已经连接到 PC。 但我只使用了一个没有修改的软件。

    当我尝试修改源代码时、会出现以下错误。

    我不知道谁在使用0x810、000、0000内存。

    请帮帮我。

    我需要你的帮助。

    此致

    Tomiyama。

    USB_DEV_serial.cmd:

    存储器

    DDR_MEM :org = 0x8000000 len = 0x7FFFFFF /* RAM */


    错误日志:

    ****项目 USB_DEV_serial 的纯净配置调试构建****

    "C:\\ti\\ccsv7\\utils\\bin\\gmake"-k -j 4 -s clean -o
    '已完成清洁'
    '

    ****构建完成****

    ****为项目 USB_DEV_serial 构建配置调试****

    "C:\\ti\\ccsv7\\utils\\bin\\gmake"-k -j 4 -s all -O
    '生成文件:C:/新文件夹/示例/evmskAM335x/USB_dev_serial/USB_serial_structs.c'
    '调用:ARM 编译器'
    '完成构建:C:/新文件夹/示例/evmskAM335x/USB_dev_serial/USB_serial_structs.c'
    '
    '构建文件:C:/新文件夹/示例/evmskAM335x/USB_dev_serial/ustdlib.c'
    '调用:ARM 编译器'
    '完成的构建:C:/新文件夹/示例/evmskAM335x/USB_dev_serial/ustdlib.c'
    '
    '生成文件:C:/新文件夹/示例/evmskAM335x/USB_dev_serial/USB_dev_serial.c'
    '调用:ARM 编译器'
    "./../../../../../../include/hw/hw_lcdc.h "、第107行:警告#1557-D:行拼接中反斜杠和换行之间的空格被忽略
    '完成构建:C:/新文件夹/示例/evmskAM335x/USB_dev_serial/USB_dev_serial.c'
    '
    '构建目标:./../../../../../../binary/armv7a/cgt_ccs/am335x/evmskAM335x/usb_dev_serial/usb_dev_serial.out
    '调用:ARM 链接器'

    "./USB_dev_serial.cmd"、第78行:错误#10263:DDR_MEM 存储器范围
    已指定
    "./usb_dev_serial.cmd"、第78行:错误#10264:DDR_MEM 存储器范围重叠
    现有存储器范围 DDR_MEM
    "./usb_dev_serial.cmd"、第92行:警告#10190-D:绝对符号"BSS_START"
    重新定义
    "./usb_dev_serial.cmd"、第93行:警告#10190-D:绝对符号"BSS_END"
    重新定义
    "./usb_dev_serial.cmd"、第92行:警告#10190-D:绝对符号"BSS_START"
    重新定义
    "./usb_dev_serial.cmd"、第93行:警告#10190-D:绝对符号"BSS_END"
    重新定义
    "./usb_dev_serial.cmd"、第86行:警告#10261-D:段说明符匹配
    无段;段说明符在中使用潜在匹配
    "./usb_dev_serial.cmd"、第86行
    "./usb_dev_serial.cmd"、第91行:警告#10423-D:未指定位置
    ".bss";将应用默认放置。
    "./usb_dev_serial.cmd"、第92行:警告#10190-D:绝对符号"BSS_START"
    重新定义
    "./usb_dev_serial.cmd"、第93行:警告#10190-D:绝对符号"BSS_END"
    重新定义
    "./usb_dev_serial.cmd"、第92行:警告#10272-D:段相对符号
    不能将不同的输出段中的值混合;段中有"BSS_START"
    ".bss"、"dot operator"位于".bss"部分
    "./usb_dev_serial.cmd"、行93:警告#10272-D:段相对符号
    不能将不同的输出段中的值混合;段中有"BSS_END"
    ".bss"、"dot operator"位于".bss"部分
    错误#10010:链接期间遇到错误;
    "../../../../../../../binary/armv7a/cgt_ccs/am335x/evmskAM335x/usb_dev_seria
    未构建 L/USB_DEV_serial.out"
    gmake:***[./../../../../../../binary/armv7a/cgt_ccs/am335x/evmskAM335x/usb_dev_serial/usb_dev_serial.out 错误1.

    >>编译失败
    Makefile:143:目标'../../../../../../../binary/armv7a/cgt_ccs/am335x/evmskAM335x/usb_dev_serial/usb_dev_serial.out 的配方失败
    gmake:目标"全部"不会由于错误而重新生成。

    ****构建完成****
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tomiyama、

    请参阅您的.map 文件、了解导致错误的存储器区域的使用位置。
    您还可以尝试使用 C:\ti\pdk_am335x_1_0_9\packages/ti\starterware\examples\gcc\am335x.lds 中的.cmd 文件

    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Lali

    谢谢您的回答。

     对于映射文件来说似乎是可以的。

    此致

    Tomiyama。