Difference between revisions of "Minimal semihosted ARM Cortex-M "Hello World""

From D Wiki
Jump to: navigation, search
(Goals)
(Goals)
Line 1: Line 1:
 
The following is an extremely minimal, semihosted "Hello World" D program for ARM Cortex-M processors.
 
The following is an extremely minimal, semihosted "Hello World" D program for ARM Cortex-M processors.
  
=Goals=
+
=Goals=   
* Verify ARM Cortex-M toolchain (compiler-->linker-->debugger)  
 
 
* Demonstrate that the D runtime and D standard library are not mandatory
 
* Demonstrate that the D runtime and D standard library are not mandatory
 
* Demonstrate that linking to C code is not necessary
 
* Demonstrate that linking to C code is not necessary
 
* Demonstrate that all required assembly code can be done within D
 
* Demonstrate that all required assembly code can be done within D
* Demonstrate that the D toolchains are mature enough to produce correctly executing, albeit very simple, executable
+
* Verify ARM Cortex-M toolchain (compiler-->linker-->debugger)
 
* Provide a starting point, with a low barrier to entry, for developers to begin testing the toolchain, porting the D runtime and libraries to the ARM Cortex-M platform, and programming their ARM Cortex-M software in D
 
* Provide a starting point, with a low barrier to entry, for developers to begin testing the toolchain, porting the D runtime and libraries to the ARM Cortex-M platform, and programming their ARM Cortex-M software in D
  

Revision as of 10:50, 2 December 2013

The following is an extremely minimal, semihosted "Hello World" D program for ARM Cortex-M processors.

Goals

  • Demonstrate that the D runtime and D standard library are not mandatory
  • Demonstrate that linking to C code is not necessary
  • Demonstrate that all required assembly code can be done within D
  • Verify ARM Cortex-M toolchain (compiler-->linker-->debugger)
  • Provide a starting point, with a low barrier to entry, for developers to begin testing the toolchain, porting the D runtime and libraries to the ARM Cortex-M platform, and programming their ARM Cortex-M software in D

Tools

  • (host computer) Arch Linux 64-bit
  • (compiler) LDC with ARM backend
  • (linker & debugger) GNU Tools for GNU Tools for ARM Embedded Processors 4.7-2013-q3
  • (GDB server) OpenOCD 0.7.0
  • (JTAG emulator) JTAG-lock-pick Tiny 2