Part Number:MSP432E401Y
在使用msp432e4011y芯片时,用到sdk中有关rom相关的api函数,不是很好理解他们的工作原理,希望可以有详细的文档对这部分的介绍,谢谢!
Susan Yang:
yuan cheng 说:用到sdk中有关rom相关的api函数
能否请您详细说下?
另外SDK内所有文档可以在下面的链接找到
https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_OtherMCU_node
,
yuan cheng:
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0);例如这个函数,最终是指到了这个地方ROM_SYSCTLTABLE[6],但是我不知道这个地方放的是啥?同时SYSCTL_PERIPH_USB0这个宏表示的是啥意思?还有就是你们的usblib里面的.a文件是有里面的soure文件生成的吧,不是另外的库文件吧?
,
Susan Yang:
yuan cheng 说:最终是指到了这个地方ROM_SYSCTLTABLE[6],但是我不知道这个地方放的是啥?
在代码中 #define ROM_SYSCTLTABLE ((uint32_t *)(ROM_APITABLE[13]))
//*****************************************************************************//// Pointers to the main API tables.////*****************************************************************************#define ROM_APITABLE ((uint32_t *)0x01000010)
即取ROM_APITABLE数组的第13个元素(地址为0x01000010+13*4)的值,然后用一个unt32_t型指针指向这个值。
所有 ROM API 都通过位于固定地址的两级查找表进行访问。这意味着,无论链接器将实际功能代码放在 ROM 的何处,也无论我们向每个驱动程序添加多少新功能(在一定限度内),代码始终可以使用相同的方法找到这些功能 – 找到开始ROM_APITABLE[n] 中每个驱动程序的 API 指针表,然后通过查看该表中的正确索引找到所需的特定函数的入口点。
yuan cheng 说:同时SYSCTL_PERIPH_USB0这个宏表示的是啥意思
//*****************************************************************************//// The following are values that can be passed to the// SysCtlPeripheralPresent(), SysCtlPeripheralEnable(),// SysCtlPeripheralDisable(), and SysCtlPeripheralReset() APIs as the// ui32Peripheral parameter. The peripherals in the fourth group (upper nibble// is 3) can only be used with the SysCtlPeripheralPresent() API.////*****************************************************************************
yuan cheng 说:还有就是你们的usblib里面的.a文件是有里面的soure文件生成的吧,不是另外的库文件吧?
抱歉,有点没有理解您的意思
,
yuan cheng:
1.我就是想知道ROM API 指针表里面的具体函数内容是什么?
2.我想问的是usblib/Lib这个文件夹里面.a后缀文件是不是就是有usblib里面的soure code 生成的,还是说这个.a文件是另外的库文件。如果我想移植你们的usb库,我是不是可以不用管.a后缀的文件
,
Susan Yang:
yuan cheng 说:.我就是想知道ROM API 指针表里面的具体函数内容是什么?
您指的是 ROM_APITABLE?如之前所说,所有 ROM API 都通过位于固定地址的两级查找表进行访问
yuan cheng 说:我想问的是usblib/Lib这个文件夹里面.a后缀文件是不是就是有usblib里面的soure code 生成的
是的,您的理解是正确的
yuan cheng 说:如果我想移植你们的usb库,我是不是可以不用管.a后缀的文件
是的
,
yuan cheng:
感谢你的回答!抱歉我可能没描述的很清楚。我想知道ROM里面存储的外设库具体函数内容是什么?是我们自己写的还是你们芯片在出厂前已经写好了的,我们只管调用api就行,还是说是sdk库里面的某部分内容?
,
Susan Yang:
yuan cheng 说:是我们自己写的还是你们芯片在出厂前已经写好了的
据我了解是已经写好的,您直接调用就好
,
yuan cheng:
既然已经写好了,那应该有说明文档的吧,跟着部分有关的说明文档在哪呢?
,
Susan Yang:
您可以看一下
http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP432_Driver_Library/latest/exports/driverlib/msp432_driverlib_3_21_00_05/doc/MSP432P4xx/html/driverlib_html/index.html
DriverLib in ROM
,
yuan cheng:
感谢,我刚看了下,ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0)和SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0)两者实现的目的是完全一样,只不过一个是在ROM里面,一个是在flash里面,应该可以这样理解吧?
,
Susan Yang:
是的,您的理解是正确的
,
yuan cheng:
感谢你的解答,我已明白了。
,
Susan Yang:
很高兴能帮到您