Systems Design
Laboratory 1
Programming for ARM Cortex-M1:
Software Development tools and Assembly Language programming Venue: Computer Engineering Laboratory
(Location: N4-01B-05)
COMPUTER ENGINEERING COURSE
SCHOOL OF COMPUTER ENGINEERING
NANYANG TECHNOLOGICAL UNIVERSITY
CE2007 Microprocessor-based System Design
Laboratory 1
Objectives
i) To gain familiarity with the Cortex-M software development tool. ii) To understand the access of memory-mapped I/O components for Cortex-M processor. iii) To develop assembly programs that perform simple I/O functions for Cortex-M processor.
Equipment and accessories required
i) Embedded Altera DE0 board (interfaced with SCE’s TAB board.) ii) A PC (running Microsoft Windows 7) pre-installed with Keil’s µVision4 Integrated
Development Environment software tools and Altera’s USB-Blaster debugger driver. iii) One USB cable (Type A – Type B)
____________________________________________________________________________
1. Introduction
This laboratory introduces the student to the development platform, the software tools and typical development cycle used to produce programs for an ARM Cortex-M processor.
The development platform consists of an ARM Cortex-M1 soft-core that is pre-loaded in the
Cyclone 3 FPGA on the Altera’s DE0 Board [1]. Coupling to the DE0 board is a Teaching
Auxiliary Board (TAB) [2] specifically developed for the course, which contains various I/O devices and peripherals to allow student to develop and observe the interactions of the programs with the various I/Os.
The software tools used for developing and testing the program code in the laboratory exercises is the µVision4 Integrated Development Environment (IDE) with debugger, which is part of the
Microcontroller Development Kit (MDK) from Keil [3].
The first part of the laboratory exercise is to guide the student to familiarize with the IDE
software
References: [1] Terasic. (2012). Altera DE0 Board and User Manual. [Online]. [2] Keil Microcontroller Development Kit, 2012 [Online]. http://www.terasic.com.tw/cgibin/page/archive.pl?Language=English&CategoryNo=56&No=364&PartNo=4 Ver 1.0 (Jan 2013)