Hi, the devkits should work. AVR128DA48 is not supported per-se in NuttX but the only thing needed is to define some macros and Kconfig options describing available peripherals. I don't have this variant (only DA28 and DA64) so I did not want to submit support for it done blindly (which was probably a good idea, I tested the DA128 and still a lot of bugs slipped through.)

If you get the kit, I can post the changes needed to support it. Doesn't really matter which one - AFAIK there is a minor difference in peripherals and DB has two power domains, that's it.

ATMEGA128A is not the same, IIRC that's a chip family one generation older, the family is named "atmega" in Nuttx arch source tree. The current ones are in "avrdx" because they have some significant differences. (The most notable one is the ability to map part of program memory into RAM so const variables are accessible to C code without doing a copy in assembly during startup.)

On 2026-10-29 16:31, Tomek CEDRO wrote:
Another question ATMEGA128A is not the same? I have found one :-P

--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

On Thu, Oct 29, 2026 at 4:25 PM Tomek CEDRO <[email protected]> wrote:

Thank you Swatantra and KeroGit, I gave my approval on the github :-)

Would these devkits work for runtime testing?
1. AVR128DA48 CURIOSITY NANO EVALUATION KIT
https://www.microchip.com/en-us/development-tool/DM164151
2. AVR128DB48 CURIOSITY NANO EVALUATION KIT
https://www.microchip.com/en-us/development-tool/EV35L43A

--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

On Thu, Oct 29, 2026 at 3:46 PM Swatantra <[email protected]> wrote:
>
> Hello Kerogit,
> I have rebased the AVR DA/DB software interrupt emulation patch series
> (`avrdx_swint`) onto latest master and submitted the Pull Request on your
> behalf:
> https://github.com/apache/nuttx/pull/21129
>
> All commit authorship, DCO sign-offs, and checkpatch requirements have been
> verified.
>
> Best regards,
> Swatantra
>
> On Wed, 28 Oct 2026 at 05:11, <[email protected]> wrote:
>
> > Hello,
> >
> > I noticed that the previous phase got merged - thanks to everyone
> > involved. Step 3 is support for software interrupt emulation, branch
> > name is avrdx_swint. Documentation builds without conflicts and
> > checkpatch reports all checks pass for every changed source code file.
> >
> > ============================
> >
> > AVR: software interrupt emulation
> >
> > ## Summary
> >
> > This patch adds emulated software interrupt functionality to AVR DA/DB
> > architecture. The chip itself does not have any software interrupt and
> > the suggested way to implement one is to manipulate an I/O pin
> > configured to trigger a hardware interrupt. The implementation can serve
> > multiple users at the same time and also supports sharing the hardware
> > interrupt of the I/O port with other users.
> >
> > There is no in-tree user of this functionality yet, intended use is a
> > follow-up patch series that adds driver for WS2812 programmable LED.
> >
> > ## Impact
> >
> > **New feature**: software interrupt emulation for AVR DA/DB family
> >
> > **Impact on user**: none, new code is not enabled by default. Other AVR
> > families are not supported and not affected.
> >
> > **Impact on build**: new Kconfig options related to the new feature,
> > none otherwise
> >
> > **Impact on documentation**: zero latency interrupts guide updated
> > (mentions software interrupt emulation as a way to "get back into the
> > game")
> >
> > No impact on hardware, security or compatibility
> >
> > ## Testing
> >
> >    I confirm that changes are verified on local setup and works as
> > intended:
> >    * Build Host(s): Linux, AMD, GCC avr-gcc 14.2
> >    * Target(s): AVR DA/DB, tested on breadxavr
> >
> > Tested with the (not yet merged) WS2812 driver which uses this
> > functionality to notify the OS that the data transmission performed by
> > the zero latency interrupt handler is finished.
> >
> > Other than that - Documentation tested by make html, changed source code
> > files tested with checkpatch.sh
> >
> > ## PR verification Self-Check
> >
> >    * [x] This PR introduces only one functional change.
> >    * [x] I have updated all required description fields above.
> >    * [x] My PR adheres to Contributing
> > [Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md)
> > and
> > [Documentation](
> > https://nuttx.apache.org/docs/latest/contributing/index.html)
> > (git commit title and message, coding standard, etc).
> >    * [ ] My PR is still work in progress (not ready for review).
> >    * [x] My PR is ready for review and can be safely merged into a
> > codebase.
> >
> > ============================
> >
> >
> > On 2026-10-16 18:20, Swatantra wrote:
> > > Hi, No worries at all. Aspell definitely generates a lot of false
> > > positives
> > > with embedded hardware terminology, and Sphinx's autosectionlabel
> > > extension
> > > is notorious for flagging duplicate headings across sections.
> > >
> > > That's the beauty of pair-shepherding—catching those CI quirks together
> > > makes the upstream submission smooth.
> > >
> > > The force-pushed commit is now building cleanly in GitHub Actions CI. I
> > > will keep an eye on the review progress with Alin and the maintainers
> > > and
> > > keep you posted here.
> > >
> > > Best regards,
> > > Swatantra Yadav
> > >
> > > On Fri, 16 Oct 2026 at 21:39, <[email protected]> wrote:
> > >
> > >> Hi, thanks for posting the patches and for the fixes. I am
> > >> spellchecking
> > >> the commits as well but there is lot of noise (aspell doesn't like the
> > >> word datasheet, let alone AVR) so it's unfortunately easy to miss
> > >> something. And sorry about the duplicate label, I tested that document
> > >> with make html and found and fixed 2 of those warnings but it did not
> > >> occur to me that this label needs to be fixed in earlier patch than
> > >> where I did it.
> > >>
> > >> On 2026-10-16 17:00, Swatantra wrote:
> > >> > Hi Kerogit,
> > >> >
> > >> > I have submitted your Phase 2 series (Zero Latency Interrupt Handlers)
> > >> > as a
> > >> > pull request on GitHub:
> > >> >
> > >> > PR: https://github.com/apache/nuttx/pull/20706
> > >> >
> > >> > Details of the submission:
> > >> > - Rebased cleanly on top of the latest apache/nuttx master (which
> > >> > includes
> > >> > merged PR #20677).
> > >> > - Fixed a minor documentation typo ("overriden" -> "overridden") in
> > >> > zerolatencyinterrupts.rst so that GitHub Actions CI checks (codespell)
> > >> > pass
> > >> > cleanly.
> > >> > - Preserved your original author attribution and DCO sign-off
> > >> > exclusively
> > >> > across all 4 commits.
> > >> > - Validated with checkpatch.sh and cvt2utf (0 errors, 0 warnings).
> > >> >
> > >> >
> > >> > Best regards,
> > >> > Swatantra Yadav
> > >> >
> > >> > On Fri, 16 Oct 2026 at 18:08, <[email protected]> wrote:
> > >> >
> > >> >> Hello, thanks, I see it merged, next step is zero latency interrupt
> > >> >> handling in branch named avrdx_zerolatency_intr. It rebased cleanly
> > on
> > >> >> current master branch. PR description is:
> > >> >>
> > >> >> ============================
> > >> >>
> > >> >> AVR: support for zero latency interrupt handlers
> > >> >>
> > >> >> ## Summary
> > >> >>
> > >> >> This patch series provides support for so-called zero latency
> > >> >> interrupts
> > >> >> as described in
> > >> >>
> > >> >>
> > >>
> > 
https://nuttx.apache.org/docs/latest/guides/concurrency/zerolatencyinterrupts.html
> > >> >> . These can be used for driver code that needs the interrupt handler
> > >> >> to
> > >> >> run with as little overhead as possible (for example because it is
> > >> >> latency sensitive, runs very often etc.) This series does not add any
> > >> >> in-tree user, that is a topic of a planned follow-up (driver for
> > >> >> WS2812
> > >> >> programmable LED.)
> > >> >>
> > >> >> This support is only added for DA/DB family of AVR chips.
> > >> >>
> > >> >> There are also some fixes of interrupt vectors table (incorrectly
> > >> >> numbered vectors as a result of duplicates) and Kconfig option
> > naming.
> > >> >> In addition to that, interupt vectors are renamed (for DA/DB family
> > >> >> only) to be able to override them with custom code written in C (and
> > >> >> compiled with GCC which expects __vector prefix in the name.)
> > >> >>
> > >> >> ## Impact
> > >> >>
> > >> >> New feature is added: zero latency interrupts that override regular
> > >> >> interrupt routine with a custom code completely independent on the
> > >> >> rest
> > >> >> of the operating system.
> > >> >>
> > >> >> There is no impact on existing users, all new code is off by default.
> > >> >> No
> > >> >> impact on other architectures nor other AVR families either.
> > >> >>
> > >> >> Impact on build - some Kconfig options are renamed from HAS_ to
> > >> >> preferred HAVE_ form. This renaming only touches existing Kconfig
> > >> >> options that are referred to by newly added Kconfig options (ie. the
> > >> >> new
> > >> >> option depends on the existing one.) All of the renamed options are
> > >> >> selected automatically based on chip in use so this change should
> > have
> > >> >> no impact on existing configurations.
> > >> >>
> > >> >> Impact on documentation - the guide linked in the summary is updated
> > >> >> to
> > >> >> describe specifics of the AVR implementation.
> > >> >>
> > >> >> No impact on hardware, security or compatibility.
> > >> >>
> > >> >> ## Testing
> > >> >>
> > >> >>    I confirm that changes are verified on local setup and works as
> > >> >> intended:
> > >> >>    * Build Host: Linux, AMD, GCC - avr-gcc 14.2
> > >> >>    * Target: AVR DA/DB, tested on breadxavr board
> > >> >>
> > >> >> To test that the interrupt vector renaming did not affect other AVR
> > >> >> families, mega1284p-xplained:nsh was built and disassembly compared.
> > >> >> There was no change.
> > >> >>
> > >> >> The feature was first tested by rudimentary application that
> > >> >> controlled
> > >> >> WS2812 programmable LED outside of the OS and then by a new driver
> > for
> > >> >> that LED using ws2812 example application from nuttx-apps.
> > >> >>
> > >> >> ## PR verification Self-Check
> > >> >>
> > >> >>    * [x] This PR introduces only one functional change.
> > >> >>    * [x] I have updated all required description fields above.
> > >> >>    * [x] My PR adheres to Contributing
> > >> >> [Guidelines](
> > >> https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md)
> > >> >> and
> > >> >> [Documentation](
> > >> >> https://nuttx.apache.org/docs/latest/contributing/index.html)
> > >> >> (git commit title and message, coding standard, etc).
> > >> >>    * [ ] My PR is still work in progress (not ready for review).
> > >> >>    * [x] My PR is ready for review and can be safely merged into a
> > >> >> codebase.
> > >> >>
> > >> >> ============================
> > >> >>
> > >> >> On 2026-10-15 07:41, Swatantra wrote:
> > >> >> > Hi Kerogit, Alin,
> > >> >> >
> > >> >> > I have opened the Pull Request for Step 1 on GitHub on behalf of
> > >> >> > Kerogit:
> > >> >> > https://github.com/apache/nuttx/pull/20677
> > >> >> >
> > >> >> > All 4 commits preserve Kerogit's original authorship and DCO
> > >> sign-offs,
> > >> >> > rebased cleanly onto current master, and checked with nxstyle.
> > >> >> > As discussed, we will proceed step-by-step: once this PR is
> > reviewed
> > >> >> > and
> > >> >> > merged, we can proceed with Step 2 (Zero Latency Interrupts).
> > >> >> >
> > >> >> > Best regards,
> > >> >> > Swatantra Yadav
> > >> >> >
> > >> >> > On Thu, 15 Oct 2026 at 03:15, <[email protected]> wrote:
> > >> >> >
> > >> >> >> Hello,
> > >> >> >>
> > >> >> >> thanks to everyone for the offers. First part of the series is
> > ready
> > >> >> >> in
> > >> >> >> the Git repository, branch is named avrdx_fixes_13.1. The PR
> > >> >> >> description
> > >> >> >> is below. I'll be looking at Github and if any question arise, I
> > will
> > >> >> >> answer them here.
> > >> >> >>
> > >> >> >> And just in case - since you mention splitting the patches into
> > >> >> >> individual PRs. If you mean breaking the branch into 4 separate
> > >> >> >> branches, I would advise against that. The features more or less
> > >> >> >> depend
> > >> >> >> on each other (software interrupt emulation changes file added by
> > the
> > >> >> >> zero latency interrupts, WS2812 uses both of these features etc.)
> > so
> > >> >> >> trying to split them up is most likely going to end with git
> > >> conflicts
> > >> >> >> and code that does not build. That's why I was planning to merge
> > this
> > >> >> >> in
> > >> >> >> step-by-step fashion.
> > >> >> >>
> > >> >> >> The filled PR template:
> > >> >> >>
> > >> >> >> ============================
> > >> >> >>
> > >> >> >> AVR DA/DB: fix for build failure and other smaller fixes
> > >> >> >>
> > >> >> >> ## Summary
> > >> >> >>
> > >> >> >> This patch series fixes build failure for AVR DA/DB family and
> > adds
> > >> >> >> some
> > >> >> >> other smaller fixes.
> > >> >> >>
> > >> >> >> The build failure was caused by patch series that added
> > >> >> >> LIBC_ATOMIC_IRQ
> > >> >> >> Kconfig option during 13.1 development. Commit 4ca2256a9bee
> > selects
> > >> >> >> this
> > >> >> >> option by default for AVR chips but not for the DA/DB family,
> > causing
> > >> >> >> a
> > >> >> >> build failure (atomic functions are missing.) The first patch of
> > this
> > >> >> >> series simply adds missing "select LIBC_ATOMIC_IRQ" for this
> > family
> > >> as
> > >> >> >> well.
> > >> >> >>
> > >> >> >> Other than that, version 13.1 added a performance regression which
> > >> >> >> manifested as dropped bytes in USART peripheral during receive
> > (with
> > >> >> >> heavy round-robin preemptive scheduling load.) The regression was
> > >> >> >> bisected to commit b32712d0a2 that fixes some bugs (which were
> > >> >> >> affecting
> > >> >> >> AVR DA/DB default build as well) but apparently adds more
> > >> >> >> time-consuming
> > >> >> >> work to context switch with interrupts disabled. The patch for
> > this
> > >> >> >> simply documents this possibility in the USART driver description.
> > >> >> >>
> > >> >> >> The remaining patches fix unused variable warning, make (very
> > >> >> >> unlikely)
> > >> >> >> board initialization error more visible and reorder manipulation
> > with
> > >> >> >> stack pointer during context restore to do it in the way
> > (presumably)
> > >> >> >> intended by the chip manufacturer.
> > >> >> >>
> > >> >> >> ## Impact
> > >> >> >>
> > >> >> >> After the patch is applied, it is again possible to build the
> > code.
> > >> >> >> Other than that, there is no impact on existing code/users.
> > >> >> >>
> > >> >> >> The stack pointer reordering change is done in file shared with
> > other
> > >> >> >> AVR families - #ifdef blocks are used to cause no change for them
> > >> >> >>
> > >> >> >> ## Testing
> > >> >> >>
> > >> >> >>    I confirm that changes are verified on local setup and work as
> > >> >> >> intended:
> > >> >> >>    * Build Host: Linux, AMD, GCC-AVR 14.2
> > >> >> >>    * Target: AVR (AVR128DA28), breadxavr:nsh
> > >> >> >>
> > >> >> >>    Testing logs before change:
> > >> >> >>
> > >> >> >>    ```
> > >> >> >> $ tools/configure.sh -l breadxavr:nsh
> > >> >> >> $ make -j16
> > >> >> >> ...
> > >> >> >> avr-ld: .../nuttx.git/staging/libsched.a(sem_destroy.o): in
> > function
> > >> >> >> `.L3':
> > >> >> >> sem_destroy.c:(.text.nxsem_destroy+0x46): undefined reference to
> > >> >> >> `__atomic_load_4'
> > >> >> >> ...
> > >> >> >> ```
> > >> >> >>
> > >> >> >>    Testing logs after change:
> > >> >> >>
> > >> >> >>    ```
> > >> >> >> $ tools/configure.sh -l breadxavr:nsh
> > >> >> >> $ make -j16
> > >> >> >> Register: nsh
> > >> >> >> Register: sh
> > >> >> >> LD: nuttx
> > >> >> >> Memory region         Used Size  Region Size  %age Used
> > >> >> >>             flash:       56377 B       128 KB     43.01%
> > >> >> >>              sram:         780 B        16 KB      4.76%
> > >> >> >>            eeprom:           0 B        512 B      0.00%
> > >> >> >>            rodata:         606 B         4 KB     14.79%
> > >> >> >> CP: nuttx.hex
> > >> >> >> CP: nuttx.asm
> > >> >> >>    ```
> > >> >> >>
> > >> >> >> To verify that the stack pointer change did not affect other AVR
> > >> >> >> families, mega1284p-xplained:nsh was built before and after the
> > >> >> >> change.
> > >> >> >> The resulting binary was identical (with the exception of version
> > >> >> >> string.)
> > >> >> >>
> > >> >> >> Header and source files were checked by checkpatch with no issues
> > >> >> >> found,
> > >> >> >> spelling checked with aspell.
> > >> >> >>
> > >> >> >> ## PR verification Self-Check
> > >> >> >>
> > >> >> >>    * [x] This PR introduces only one functional change.
> > >> >> >>    * [x] I have updated all required description fields above.
> > >> >> >>    * [x] My PR adheres to Contributing
> > >> >> >> [Guidelines](
> > >> >> https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md)
> > >> >> >> and
> > >> >> >> [Documentation](
> > >> >> >> https://nuttx.apache.org/docs/latest/contributing/index.html)
> > >> >> >> (git commit title and message, coding standard, etc).
> > >> >> >>    * [ ] My PR is still work in progress (not ready for review).
> > >> >> >>    * [x] My PR is ready for review and can be safely merged into a
> > >> >> >> codebase.
> > >> >> >>
> > >> >> >> ============================
> > >> >> >>
> > >> >> >> On 2026-10-14 18:20, Abhishek Mishra wrote:
> > >> >> >> > Hi,
> > >> >> >> >
> > >> >> >> > I'd be happy to help split the patches into individual PRs and
> > >> work on
> > >> >> >> > getting them merged. Please let me know how you'd like to
> > >> coordinate.
> > >> >> >> >
> > >> >> >> > Best regards,
> > >> >> >> > Abhishek
> > >> >> >> >
> > >> >> >> > On Wed, Oct 14, 2026 at 9:09 PM Alin Jerpelea <
> > [email protected]>
> > >> >> >> > wrote:
> > >> >> >> >
> > >> >> >> >> please prepare the first patches and I will handle them
> > >> >> >> >>
> > >> >> >> >> Best regards
> > >> >> >> >> Alin J
> > >> >> >> >>
> > >> >> >> >> On Wed, 14 Oct 2026, 16:37 Alin Jerpelea, <[email protected]>
> > >> >> wrote:
> > >> >> >> >>
> > >> >> >> >> > Hi,
> > >> >> >> >> >
> > >> >> >> >> > I can lend a hand tomorrow
> > >> >> >> >> >
> > >> >> >> >> > Thanks for your message
> > >> >> >> >> >
> > >> >> >> >> > Best regards
> > >> >> >> >> > Alin
> > >> >> >> >> >
> > >> >> >> >> > On Wed, 14 Oct 2026, 11:18 Felipe Moura Oliveira, <
> > >> >> >> [email protected]>
> > >> >> >> >> > wrote:
> > >> >> >> >> >
> > >> >> >> >> >> Hello,
> > >> >> >> >> >>
> > >> >> >> >> >> I am away from my desk for the next few days. If no one
> > offers
> > >> to
> > >> >> >> help
> > >> >> >> >> by
> > >> >> >> >> >> this weekend, I will reach out to you so I can help you with
> > >> this.
> > >> >> >> >> >>
> > >> >> >> >> >> Regards,
> > >> >> >> >> >>
> > >> >> >> >> >>
> > >> >> >> >> >> *--Felipe Moura de Oliveira*
> > >> >> >> >> >> Linkedin <
> > https://www.linkedin.com/in/felipe-oliveira-75a651a0
> > >> >
> > >> >> >> >> >>
> > >> >> >> >> >> On Wed, 14 Oct 2026 at 10:48 <[email protected]> wrote:
> > >> >> >> >> >>
> > >> >> >> >> >> > Hello,
> > >> >> >> >> >> >
> > >> >> >> >> >> > I would like to ask someone to help me merge some patches
> > for
> > >> >> the
> > >> >> >> AVR
> > >> >> >> >> >> > architecture, DA/DB family. I have a series ready with
> > some
> > >> >> fixes
> > >> >> >> and
> > >> >> >> >> >> > some new features. Same as before, I don't have a Github
> > >> account
> > >> >> >> so I
> > >> >> >> >> am
> > >> >> >> >> >> > looking for someone who could open pull requests
> > >> >> >> >> >> >
> > >> >> >> >> >> > The series as a whole is available in my "nuttx.git"
> > >> repository
> > >> >> at
> > >> >> >> >> >> > git.kerogit.eu accessible through HTTP/S. The relevant
> > >> branch
> > >> >> is
> > >> >> >> >> named
> > >> >> >> >> >> > avrdx_ws2812_upstream .
> > >> >> >> >> >> >
> > >> >> >> >> >> > In its current form, the branch is not suitable for
> > merging
> > >> - it
> > >> >> >> would
> > >> >> >> >> >> > be more than one feature per one PR which is against the
> > >> >> >> contributing
> > >> >> >> >> >> > rules. My plan is, if someone decides to help, to split
> > the
> > >> >> series
> > >> >> >> >> into
> > >> >> >> >> >> > steps and merge these steps one by one. After one step is
> > >> >> merged, I
> > >> >> >> >> >> > would rebase the remainder on current master branch and
> > >> provide
> > >> >> >> next
> > >> >> >> >> >> > step. I also plan to prepare text to be filled in the PR
> > form
> > >> >> >> >> >> > (essentialy doing as much as possible to make the job
> > easier
> > >> for
> > >> >> >> the
> > >> >> >> >> >> > person who will interact with Github.)
> > >> >> >> >> >> >
> > >> >> >> >> >> > There are four features:
> > >> >> >> >> >> >
> > >> >> >> >> >> > 1. fixes - build failure introduced between 13.0 and 13.1,
> > >> >> >> documenting
> > >> >> >> >> >> > performance regression between these versions and some
> > minor
> > >> >> stuff
> > >> >> >> >> >> > 2. zero latency interrupt support -
> > >> >> >> >> >> >
> > >> >> >> >> >> >
> > >> >> >> >> >>
> > >> >> >> >>
> > >> >> >>
> > >> >>
> > >>
> > 
https://nuttx.apache.org/docs/latest/guides/concurrency/zerolatencyinterrupts.html
> > >> >> >> >> >> > 3. software interrupt emulation
> > >> >> >> >> >> > 4. lower half for WS2812 driver
> > >> >> >> >> >> >
> > >> >> >> >> >> > Thanks
> > >> >> >> >> >> >
> > >> >> >> >> >>
> > >> >> >> >> >
> > >> >> >> >>
> > >> >> >>
> > >> >>
> > >>
> >

Reply via email to