Development template for LPC17xx

I have set up my own project template to start developing ARM software for the LPC17xx platform, it’s based upon the CMSIS libraries (download link) offered by NXP which contains all basic routines to operate the Cortex M3 core and the LPC17xx peripherals using C language.

It also contains a port of the lpcusb stack for the LPC17xx so we can develop USB Device applications, configured retargeting of the printf function to the UART ports instead of semihosting output in retarget.c, a template.c file with main function and basic debug initialization, 2 target configurations (flash and ram execution profile).

The template project is managed through Keil uVision 4 software but source files can be imported into other IDE and compilers.

Hello world!

Hello World!, it’s time to open MazCan Project to the open source community, MazCan is a hardware/software implementation on CAN, it aims to create a unix-compatible service layer over the vehicle data.

At its start MazCan started as a sniffing tool over the Mazda 3 network mainly developed over OS X frameworks, like the started by Madox, then I wanted to abstract all code so everyone can develop services (known as clients) and extract all the important data required for other projects.

All the code is developed under Open Source licenses using unix standard frameworks (Standard C Libraries). At the moment of this post, revision 15, interprocess can message transport, message queue operations and a beta implementation of the canserver are implemented. When canserver and communication protocol become more stable client implementation guide will be released.

Hardware implementation relies on Arduino and ArCan Shield, firmware will be published as soon as posible. There are problems with the data throughput Arduino is capable of transport through its usb-rs232 (ftdi chip) interface. The interface is capable of a maximum baudrate of 115,2Kbits while the vehicle low speed interface is 125Kbits, and 500Kbits on the high speed network.