[riot-notifications] [RIOT-OS/RIOT] Introduce Atmel XMEGA CPU (#15703)

Gerson Fernando Budke notifications at github.com
Sun Jan 24 00:20:02 CET 2021


More good news!

The [xmega_ebi](https://github.com/nandojve/RIOT/tree/xmega_ebi) branch allow to test:
 - SPI driver
 - AT86RF2xx transceiver (XMEGA-A1 Xplained Pro + REB-233)
 - External Bus Interface (EBI) to evaluate the 512k SRAM with XMEGA-A1 Xplained Pro.
   - The xmega have a limitation that allows only 64K SRAM to be used by RTOS. The remaining memory can be used using 
     special methods. So, this allows to use up to 64K SRAM with RIOT-OS. The limitation happen because the CPU Stack 
     registers can address up to 64K.
   - I'm not complete sure but I think external memory need to be overlapped with internal memory. Without that system not work.
     This means that first 8K external memory are lost!
 - CPUID is used as EUI provider.
 - Added peripheral power manager method.

I tested with Tutorials/task-06:
```
AVR Memory Usage
----------------
Device: Unknown

Program:   98582 bytes
(.text + .data + .bootloader)

Data:      21505 bytes
(.data + .bss + .noinit)

avrdude -c xplainedpro_pdi -p x128a1u -e -U flash:w:/home/gfbudke/riot-os/Tutorials/task-06/bin/atxmega-a1-xpro/Task06.elf

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e974c (probably x128a1u)
avrdude: erasing chip
avrdude: reading input file "/home/gfbudke/riot-os/Tutorials/task-06/bin/atxmega-a1-xpro/Task06.elf"
avrdude: input file /home/gfbudke/riot-os/Tutorials/task-06/bin/atxmega-a1-xpro/Task06.elf auto detected as ELF
avrdude: writing flash (98582 bytes):

Writing | ################################################## | 100% 3.07s

avrdude: 98582 bytes of flash written
avrdude: verifying flash memory against /home/gfbudke/riot-os/Tutorials/task-06/bin/atxmega-a1-xpro/Task06.elf:
avrdude: load data flash data from input file /home/gfbudke/riot-os/Tutorials/task-06/bin/atxmega-a1-xpro/Task06.elf:
avrdude: input file /home/gfbudke/riot-os/Tutorials/task-06/bin/atxmega-a1-xpro/Task06.elf auto detected as ELF
avrdude: input file /home/gfbudke/riot-os/Tutorials/task-06/bin/atxmega-a1-xpro/Task06.elf contains 98582 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 1.94s

avrdude: verifying ...
avrdude: 98582 bytes of flash verified

avrdude done.  Thank you.

/home/gfbudke/riot-os/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200"  
Twisted not available, please install it if you want to use pyterm's JSON capabilities
2021-01-23 19:52:34,467 # Connect to serial port /dev/ttyACM0
2021-01-23 19:52:35,470 # 

Welcome to pyterm!
Type '/exit' to exit.
2021-01-23 19:52:35,473 # main(): This is RIOT! (Version: 2021.04-devel-102-ga8508-xmega_ebi)
2021-01-23 19:52:35,473 # This is Task-06
> 
help
2021-01-23 19:52:39,651 #  help
2021-01-23 19:52:39,654 # Command              Description
2021-01-23 19:52:39,658 # ---------------------------------------
2021-01-23 19:52:39,661 # udp                  send udp packets
2021-01-23 19:52:39,664 # udps                 start udp server
2021-01-23 19:52:39,667 # reboot               Reboot the node
2021-01-23 19:52:39,672 # version              Prints current RIOT_VERSION
2021-01-23 19:52:39,676 # pm                   interact with layered PM subsystem
2021-01-23 19:52:39,682 # ps                   Prints information about running threads.
2021-01-23 19:52:39,685 # ping6                Ping via ICMPv6
2021-01-23 19:52:39,688 # ping                 Alias for ping6
2021-01-23 19:52:39,692 # random_init          initializes the PRNG
2021-01-23 19:52:39,697 # random_get           returns 32 bit of pseudo randomness
2021-01-23 19:52:39,702 # nib                  Configure neighbor information base
2021-01-23 19:52:39,706 # ifconfig             Configure network interfaces
2021-01-23 19:52:39,711 # 6ctx                 6LoWPAN context configuration tool
> ifconfig
2021-01-23 19:52:47,114 #  ifconfig
2021-01-23 19:52:47,120 # Iface  6  HWaddr: 0A:0A  Channel: 26  Page: 0  NID: 0x23  PHY: O-QPSK 
2021-01-23 19:52:47,122 #           
2021-01-23 19:52:47,126 #           Long HWaddr: 38:57:33:38:31:31:0A:0A 
2021-01-23 19:52:47,133 #            TX-Power: 0dBm  State: TX  max. Retrans.: 3  CSMA Retries: 4 
2021-01-23 19:52:47,141 #           AUTOACK  ACK_REQ  CSMA  L2-PDU:102  MTU:1280  HL:64  6LO  
2021-01-23 19:52:47,143 #           IPHC  
2021-01-23 19:52:47,146 #           Source address length: 8
2021-01-23 19:52:47,149 #           Link type: wireless
2021-01-23 19:52:47,154 #           inet6 addr: fe80::3a57:3338:3131:a0a  scope: link  VAL
2021-01-23 19:52:47,157 #           inet6 group: ff02::1
2021-01-23 19:52:47,158 #           
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/issues/15703#issuecomment-766197879
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20210123/05b36458/attachment.htm>


More information about the notifications mailing list