1 / 11

Implementation of Embedded OS

Implementation of Embedded OS. Lab1 Cortex-M3 Programming. Goal. Source : http://www.arm.com/images/Cortex_M3_large.png. Learn how to write programs for the ARM Cortex-M3 (ARMv7-M) architecture. Environment. Host System Windows XP Build System VirtualBox + Ubuntu 8.04 Target System

morley
Download Presentation

Implementation of Embedded OS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementation of Embedded OS Lab1 Cortex-M3 Programming

  2. Goal Source: http://www.arm.com/images/Cortex_M3_large.png Learn how to write programs for the ARM Cortex-M3 (ARMv7-M) architecture. /11

  3. Environment • Host System • Windows XP • Build System • VirtualBox + Ubuntu 8.04 • Target System • PTK development board (STM32F207) • Software • Documentation & examples • PTK_Examples.zip • μC/OS-III source codes • KRN-K3XX-000000.zip • IAR Embedded Workbench • Installed already • You can download them from RSWiki IEOS Course Software. /11

  4. Introduction /11 • Cortex-M3 processors are a family of 32-bit ARM-based processors for highly deterministic real-time applications. • It implements the ARMv7-M architecture. • Nested Vectored Interrupt Controller (NVIC), Memory Protection Unit (MPU), … • It has 3-stage pipeline supporting Thumb/Thumb-2 ISA. • STM32F207 is a SoC consisting of a Cortex-M3 Core, built-in flash storage, and many other peripherals. • The core can run up to 120MHz. • The on-chip memory includes a flash of 256KB and a SRAM of 128KB.

  5. Memory Mapping Block 7 Internals 0xE000_0000 Block 6 Not Used 0xC000_0000 Block 5 FSMC Registers 0xA000_0000 Block 4 FSMC Bank 3/4 0x8000_0000 Block 3 FSMC Bank 1/2 0x6000_0000 Block 2 Peripherals 0x4000_0000 Block 1 SRAM 0x2000_0000 Block 0 Code 0x0000_0000 /11 • The address space of STM32F207 is split into eight 512MB blocks. • Block 0 maps the flash memory. • Block 1 maps the main memory. • Block 2 maps MMIO for peripherals. • Block 3/4 maps external devices using static memory interface. • Block 5 maps control registers of the flexible static memory controller (FSMC). • Block 7 maps internal registers of the processor core.

  6. Connecting PTK Development Board RS-232 (COM Port) JTAG Debugger Temperature Sensor /11

  7. IAR Embedded Workbench /11 It is a commercial IDE for ARM-based SoCs.

  8. Setting up Examples /11 • Step 1: decompress the examples PTK_Examples.zip. • Step 2: decompress KRN-K3XX-000000.zip. • Step 3: copy the folder Software in Micrium to PTK_Examples/ePBB/Libraries/OS_uCOS-III/Micrium-V30x. • Please do not replace any existing files.

  9. Building and Running the UART Example (1/2) /11 • Step 1: open the following workspace in IAR Embedded Workbench IDE. • PTK_Examples/ePBB/Applications/Projects/PTK-STM32F207/EWARM-V6/OS_uCOS-III/base_uart/demo.eww • Step 2: compile the project by clicking the button “Make”. • Step 3: download the program to the target by clicking the button “Download and Debug”.

  10. Building and Running the UART Example (2/2) /11 • Step 4: open the serial console (putty or pietty). • Please set baud rate to 115200bps. • Step 5: press the key “F5” to continue the execution. • You will see the message “Hello World!!!” on the console.

  11. Lab Requirements /11 • Please create a task in μC/OS-III to read the value of current temperature from the temperature sensor and display it on both the serial console and the LCD screen. • Hints • The documentation of these examples can be found at PTK_Examples/ePBB/Documentations. • You need to initialize the LCD device by invoking “ili9325_gui_config” in the function “platform_board_init_hook”.

More Related