I have been trying to compile the drivers for the LPC4357 found at www.lpcware.com/.../lpc4350apdlzip for a while now, but I keep getting lots of strange errors, usually something like this:
compiling lpc43xx_i2c.c... H:\LPC4357\Source\lpc43xx_i2c.c(1155): error: #136: struct "<unnamed>" has no field "MASK" I2Cx->MASK[0] = I2C_I2MASK_MASK((uint32_t) \ H:\LPC4357\Source\lpc43xx_i2c.c(1160): error: #136: struct "<unnamed>" has no field "MASK" I2Cx->MASK[1] = I2C_I2MASK_MASK((uint32_t) \ H:\LPC4357\Source\lpc43xx_i2c.c(1165): error: #136: struct "<unnamed>" has no field "MASK" I2Cx->MASK[2] = I2C_I2MASK_MASK((uint32_t) \ H:\LPC4357\Source\lpc43xx_i2c.c(1170): error: #136: struct "<unnamed>" has no field "MASK" I2Cx->MASK[3] = I2C_I2MASK_MASK((uint32_t) \ H:\LPC4357\Source\lpc43xx_i2c.c: 0 warnings, 4 errors
There are various other errors like this in a few of the other packages, but I can't quite seem to figure out how to get it to actually compile.
To make matters worse, the board I have came with a few example projects in Keil, which seem to be set up exactly the same in every option they have, and the source files are the same to the character, but it doesn't generate the error. Clearly I'm doing something wrong, but for the life of me I can't figure out what it is.
Any ideas?
You should probably be attentive of the include paths the compiler is using, and make sure it uses the includes from the package, rather than random versions Keil may stumble into. Review the project options/settings, and where files fall in the directory tree.