diff --git a/firmware/LICENSE-samd20-gcc-blackmagic.md b/firmware/LICENSE-samd20-gcc-blackmagic.md index 31ec518..e12c7a8 100644 --- a/firmware/LICENSE-samd20-gcc-blackmagic.md +++ b/firmware/LICENSE-samd20-gcc-blackmagic.md @@ -1,5 +1,5 @@ Much of the source code in this project is licensed by ARM or Atmel -wuth a modified 3-clause BSD license. See file headers for more details. +with a modified 3-clause BSD license. See file headers for more details. Everything else is under a [MIT License](http://opensource.org/licenses/MIT) as follows: diff --git a/firmware/Makefile b/firmware/Makefile index e735633..12b92f4 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -1,4 +1,4 @@ -# Compiles firmware written in C and assembler for the nRF51 +# Compiles firmware written in C and assembler for the Atmel SAM D20 # Copyright (C) 2014 # # Permission is hereby granted, free of charge, to any person obtaining @@ -214,7 +214,7 @@ gdbscript: Makefile config.mk @$(ECHO) "file $(TARGET).elf" >> gdbscript ifdef BLACKMAGIC_PATH @$(ECHO) "# Connect to a specified blackmagic" >> gdbscript - @$(ECHO) "target external-remote $(BLACKMAGIC_PATH)" >> gdbscript + @$(ECHO) "target extended-remote $(BLACKMAGIC_PATH)" >> gdbscript endif # Prints a list of symlinks to a device @@ -248,4 +248,4 @@ emacs: clean: $(RM) $(OUTPUT_PATH)* $(RM) gdbscript - $(RM) TAGS \ No newline at end of file + $(RM) TAGS diff --git a/firmware/README-samd20-gcc-blackmagic.md b/firmware/README-samd20-gcc-blackmagic.md index 04ef995..81594fb 100644 --- a/firmware/README-samd20-gcc-blackmagic.md +++ b/firmware/README-samd20-gcc-blackmagic.md @@ -20,6 +20,22 @@ sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded sudo apt-get update && sudo apt-get install gcc-arm-none-eabi ``` +###### Note about gcc-arm-embedded on Ubuntu 14.04 and later + +If you are using Ubuntu 14.04 and later, please be careful because +there are packages with same name but produced by Debian and inherited +by Ubuntu. Simply follow the above 3 steps, you may end up with +gcc-arm-none-eabi from Ubuntu. So to install gcc-arm-none-eabi from +ARM, steps are: + +``` +1). sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi +2). sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded +3). sudo apt-get update +4). sudo apt-get install gcc-arm-none-eabi=4-8-2014q2-0trusty10 +``` +Meanwhile we are working with Debian to consolidate and unify this toolchain. + ## Usage ## ### Project Options ### diff --git a/firmware/chip/sections.ld b/firmware/chip/sections.ld index 8dcdb7d..8318102 100644 --- a/firmware/chip/sections.ld +++ b/firmware/chip/sections.ld @@ -44,7 +44,9 @@ * __data_start * __data_end * __bss_start + * __bss_start__ * __bss_end + * __bss_end__ * __end__ * end * __heap_start @@ -134,10 +136,12 @@ SECTIONS { . = ALIGN(4); __bss_start = .; + __bss_start__ = __bss_start; *(.bss .bss.*) *(COMMON) . = ALIGN(4); __bss_end = .; + __bss_end__ = __bss_end; } > RAM .heap (COPY):