First day
Platform development process
- Definition of the platform
- Creation of the physical architecture of the system
- Choice of characteristics and design
- VHDL code generation of the platform
- Implementation of the platform
- Verification of the platform
- Creation of the bitstream for programming the FPGA
- Programming the platform
- Choice of software infrastructure
- Programming in C and assembler
Platform definition with the Mico System Builder
- Selecting core options
- Caches
- Interrupt controller
- Memory selection and configuration
- Internal RAM and ROM
- External flash, serial and parallel
- SRAM and external DDRAM
- Choosing and configuring devices
- GPIOs
- Timer
- UART, SPI, I2C
- Ethernet
- DMA Controller
- Bus arbitration strategies
- Private or shared busses
- Static or dynamic arbitration
- Configuring the platform
- Connection of peripheral bussesto
- Connection of peripheral interrupt controllers and DMA
- Choice of addresses and interrupts
- Checking the consistency of the platform
- VHDL code generation of the platform
Second day
Platform implementation
- Behavioral Simulation
- Using the testbench generated by the MSB
- Synthesis according to the chosen FPGA
- Definition of inputs / outputs
- Placement
- Routing
- After routing simulation
- Checking timings
- Control processing speed
- FPGA programming
- Generating the bitstream
- Transfer to the target
Platform programming
- C programming
- The Eclipse-based programming environment
- Program Runtime Environment
- Programming and code generation constraints
- Linker memory definition
|
- Simulation on the development station
- Using the MICO32 platform simulator
- Transfer to the target
- Cross debugging
- Use of GDB to cross-debug the program on the target
Install and use of micrium uC/OSII
- Installing micrium uC/OSII on the target platform
- Specific platform requirements for uC/OSII
- Configuration uC/OSII to fit the platform
- Create a simple program
- Recompile
- Transfer on the target
- Cross-debug
Third day
Install and use uClinux
- Installing u-boot on the target
- Specific platform requirements for u-boot and uClinux
- Configuring u-boot to fit the platform
- Recompile u-boot
- Transfer on the target
- Auto-test of the platform by u-boot
- Installing uClinux
- Configure the Linux kernel
- Choice of boot parameters
- Creation of programs for uClinux
- Compilation under Eclipse for uClinux
- Cross-debug
Creating custom components
- The Wishbone bus
- Bus topology and signals
- Master interfaces
- Slave interfaces
- Defining custom input/output components
- Creation of the component VHDL code
- Integration into the Mico System Builder
- Creation of a platform including the new component
- Use of custom components in software
- Creating a program using acomponent
- Notion of driver
System deployment
- Deployment of bitstreams in SPI flash
- Using the JTAG port to program the flash
- Deployment of tested code in parallel flash
- Creation of the flash programming infrastructure
- Reconfiguration of the application for execution from flash
- Deployment of an integrated application
- Deployment of a complete uClinux image
|