Giter Club home page Giter Club logo

ciaa-api's Introduction

CIAA API

This repository contains some API for the LPC4337 based boards. The purpose of this API is to make the development with such devices easier.

Low level and high level libraries are given to work with the available peripherials. All of it is written in C.

Repository organization

api

This directory includes all the libraries necessaries to work with the LPC4337. It is a self contained library, so it can be imported or referenced from the MCUXpresso to work with any new project.

chip

LPC43337 chip libraries for the MCUXpresso. Supports M4 and M0 cores. API is dependant on this libraries so it needs to be imported or referenced from the MCUXpresso's workspace in orther for the API to work.

cmsis

Stands for Common Microcontroller Software Interface Standard. This directory includes the latest source code for a DSP library with some fixes that is specially designed for complex math in embedded systems with ARM architcture.

config

This directory has some .xml files that can be imported into a new project to easily configure all the paths to the api and the memory bank for the M0 core in dual core applications.

etc

This one contains a lpc4337.cfg file theat allows the MCUXpresso to be able to program and debug the current project with openocd. It also contains a legacy config file for an older version of the openocd (0.9.0).

examples

This one contains some examples for the API for every peripherial.

freertos

This directory contains a static library for the M4 and M0 FreeRTOS implementation. Both of them can be imported into a new workspace and added to the project references.

pyusb

This directory has some info on the pyusb Python package, which is used to communicate with the OTG USB on the CIAA board. Some Python scripts are there also to test the currently supported USB examples.

About multicore projects

Multicore projects need some special attention to configure. Please follow this steps:

M0APP project

1- First, create a new LPCOpen-C Project for the LPC4337-M0. Choose the LPC43xx Multicore M0APP option in the Wizard window.

2- Make sure that the lpc_chip_43xx_m0 library is chosen.

3- When you get to the memory configuration window you can either choose to import the m0app_memory.xml file located in config directory or you can configure it by yourself. If you choose the second option then:

  • Remove the first block of Flash allocated in 0x1a000000. Only leave the second block in 0x1b000000.

  • Remove the first block of RAM allocated in 0x10000000. Leave the other four RAM blocks from 0x200000000 to 0x2000c000.

4- You can finish the rest of the project initialization and configure anything else as you wish.

M4 project

1- Create a new LPCOpen-C Project for the LPC4337. Choose the LPC43xx Multicore M4 option in the Wizard window.

2- Make sure that the lpc_chip_43xx library is chosen.

3- The memory blocks can be left as default.

4- In the M0APP Slave Project Settings window, select the previous M0APP project as the M0APP Slave Project and check the box that says Use 2nd flash block in dual bank flash MCU.

5- Complete the rest of the project initialization as you wish.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.