Skip to content

JavaScript for ARM Cortex M

Thibaut VIARD edited this page Mar 31, 2015 · 1 revision

Espruino port for SAM4S-Xplained

Step 1 - Bring information about the device and board

Bring ATSAM4S pinout description for packages

Create Espruino/boards/pins/atsam4s.ods from ATSAM4S datasheet

First columns are packages names and pin references, for example LQFP100, QFN48, etc... Next columns seems to be:

  • Signal names, as per device pinout
  • Pin type, I/O or System
  • IO type? (FT or nothing)
  • After reset
  • Default

Need clarification on this file format!!!

Bring visual information about the board

Add Espruino/boards/img/SAM4S-Xplained.png Create pins visual information from SAM4S-Xplained schematics

  • Image dimension: 1293px x 868px

  • Connectors and pins (from left to right)

    • J1 connector: 172px x 74px @ (171px, 71px)
      • bottom: PA3 PB2 PA31 PA12 GND
      • top: PA4 PB3 PA13 PA14 VDD_MAIN
    • J2 connector: 171px x 73px @ (175px, 698px)
      • bottom: PA22 PB0 PA17 PC13 GND
      • top: PC12 PB1 PA21 PC15 VDD_MAIN
    • J3 connector: 173px x 72px @ (906 px, 71px)
      • bottom: PA20 PA23 PA15 PA2 GND
      • top: PA11 PA18 PA16 PC2 5V
    • J4 connector: 172px x 70px @ (904px, 699px)
      • bottom: PA3 PB2 PA30 PA12 GND
      • top: PA4 PB3 PA13 PA14 5V
  • LED1: PC10

  • LED2: PC17

  • User Button BP2: PA5

  • JTAG/SWD:

    • TDI: PB4
    • TMS: PB6
    • TCK: PB7
    • TDO: PB5
  • UART for VCP:

    • PA9
    • PA10
  • USB device:

    • DDM: PB10
    • DDP: PB11
  • Serial flash AT25DF321:

    • NCS: PA5
    • SCK: PA14
    • SI: PA13
    • SO: PA12
  • OSC 32kHz:

    • XIN: PA7
    • XOUT: PA8
  • OSC 12MHz:

    • XIN: PB9
    • XOUT: PB8
  • 2x512KB on 70ns external Static RAM (IS66WV51216DBLL):

    • Address bus (A0-A18): PC18-PC31 PA18-PA20 PA0 PA1
    • Data bus (D0-D7/D8-D15): PC0-PC7
    • CS: PC14
    • LB: PC15
    • OE: PC11
    • WE: PC8
  • Capacitive Touch Slider:

    • SL: PA25/PA24
    • SM: PA27/PA26
    • SR: PA29/PA28

Bring board description

Create Espruino/boards/SAM4S_XPLAINED.py from SAM4S-Xplained schematics

Step 2

Espruino\targetlibs\arm contains CMSIS API

Espruino\targetlibs\atsam4s will contain ATSAM4S16C low-level drivers

Espruino\targets\sam4s-xplained\main.c -> system startup

Espruino\targets\sam4s-xplained\jshardware.c -> wrapper functions to low-level drivers

Step 3

Step 4

Step 5

Step 6

Step 7

Clone this wiki locally