diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 52bd5b1777..01c8937cbe 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -1627,6 +1627,30 @@

+ +
+ +

AVR-Specific Issues. + The basic AVR port is solid and biggest issue for using AVR is its tiny SRAM memory and its Harvard architecture. + Because of the Harvard architecture, constant data that resides to flash is inaccessible using "normal" memory reads and writes (only SRAM data can be accessed "normally"). + Special AVR instructions are available for accessing data in FLASH, but these have not been integrated into the normal, general purpose OS. +

+

+ Most NuttX test applications are console-oriented with lots of strings used for printf and debug output. + These strings are all stored in SRAM now due to these data accessing issues and even the smallest console-oriented applications can quickly fill a 4-8Kb memory. + So, in order for the AVR port to be useful, one of two things would need to be done: +

+
    +
  1. + Don't use console applications that required lots of strings. + The basic AVR port is solid and your typical deeply embedded application should work fine. + Or, +
  2. +
  3. + Create a special version of printf that knows how to access strings that reside in FLASH (or EEPROM). +
  4. +
+