LPC_I2C define missing in LPCOpen2.01 for LPC8xx in project lpc_chip_8xx_lib in file chip.h

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LPC_I2C define missing in LPCOpen2.01 for LPC8xx in project lpc_chip_8xx_lib in file chip.h

993件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by larryvc on Mon Jan 05 19:07:57 MST 2015
It is completely missing, see below.  Did you forget that UM10601 says "The I2C-bus interface is available on all parts."
[color=#f00]//  The LPC_I2C define does not exist.
//  The struct LPC_I2C_T should be in file i2c_8xx.h but it too is missing.[/color]
#define LPC_I2C             ((LPC_I2C_T         *) LPC_I2C_BASE)


Most of the other peripherals have defines.  The corresponding structs defining the block structure of the peripheral are found in the corresponding "peripheral"_8xx.h file:

Portion of chip.h:
/* APB0 peripherals */
.
.
.
#define LPC_SYSCTL_BASE       (0x40048000UL)
#define LPC_I2C_BASE          (0x40050000UL)
.
.
.
#define LPC_WWDT            ((LPC_WWDT_T     *) LPC_WWDT_BASE)
#define LPC_SPI0            ((LPC_SPI_T      *) LPC_SPI0_BASE)
#define LPC_SPI1            ((LPC_SPI_T      *) LPC_SPI1_BASE)
#define LPC_USART0          ((LPC_USART_T    *) LPC_USART0_BASE)
#define LPC_USART1          ((LPC_USART_T    *) LPC_USART1_BASE)
#define LPC_USART2          ((LPC_USART_T    *) LPC_USART2_BASE)
#define LPC_WKT             ((LPC_WKT_T         *) LPC_WKT_BASE)
#define LPC_PMU             ((LPC_PMU_T         *) LPC_PMU_BASE)
#define LPC_CRC             ((LPC_CRC_T         *) LPC_CRC_BASE)
#define LPC_SCT             ((LPC_SCT_T         *) LPC_SCT_BASE)
#define LPC_GPIO_PORT       ((LPC_GPIO_T        *) LPC_GPIO_PORT_BASE)
#define LPC_PININT          ((LPC_PIN_INT_T     *) LPC_PIN_INT_BASE)
#define LPC_IOCON           ((LPC_IOCON_T       *) LPC_IOCON_BASE)
#define LPC_SWM             ((LPC_SWM_T         *) LPC_SWM_BASE)
#define LPC_SYSCTL          ((LPC_SYSCTL_T      *) LPC_SYSCTL_BASE)
#define LPC_CMP             ((LPC_CMP_T         *) LPC_CMP_BASE)
#define LPC_FMC             ((LPC_FMC_T         *) LPC_FMC_BASE)
#define LPC_MRT             ((LPC_MRT_T         *) LPC_MRT_BASE)
ラベル(1)
0 件の賞賛
返信
3 返答(返信)

953件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nerd herd on Fri Jan 09 09:00:28 MST 2015
Hi larryvc,

I can understand where your frustration is coming from now. I will let the LPCOpen team know about this.
0 件の賞賛
返信

953件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by larryvc on Thu Jan 08 11:53:11 MST 2015
What if we need or want to write our own routines?  Regardless of whether the peripheral routines are in rom or not please make the defines available in the header files.  It does not take that much effort.

It is this "incompleteness" that is keeping us from adopting LPCOpen for our new designs and has us re-thinking whether to use NXP chips at all.  I would like to use your chips, make it possible for me to drive my case.
0 件の賞賛
返信

953件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nerd herd on Thu Jan 08 10:55:27 MST 2015
Hi larryvc,

Thank you for noticing this. I believe the reason why there is no I2C base addresses declared explicitly in chip.h is because the I2C drivers are in the ROM. Unless there are I2C driver code outside the ROM, there is no need to declare a define for the I2C base address.
0 件の賞賛
返信