Skip to main content

New answers tagged

1 vote

Why does ATSAM3X8E have two separate registers for setting and clearing bits?

To expand upon the mention of atomic operations in the answer, the ATSAM3X8E datasheet shows that microcontroller incorporates the ARM Cortex-M3 Bit-banding: The regions for SRAM and peripherals ...
Chester Gillon's user avatar
2 votes

Why does ATSAM3X8E have two separate registers for setting and clearing bits?

Just to add to @Justme's answer, this especially important on registers whose contents are modified by the microcontroller.Imagine an interrupt status register (that contains multiple interrupt ...
Steve Mathwig's user avatar
1 vote
Accepted

How does ATSAM3X8E's SAM-BA bootloader work?

The SAM3X8E can be configured to boot to SAM-BA monitor (the default), or to Flash 0 or 1. This is done via the GPNVM bits and is described in section 7.2.4 of the datasheet. Setting GPNVM1 to 1 ...
Steve Mathwig's user avatar
17 votes
Accepted

Why does ATSAM3X8E have two separate registers for setting and clearing bits?

If you want to enable one pin, you write the bit 1 which pin you want to enable. The bits that are 0 do nothing. So your example with single enable is OK. Your second enable might be completely wrong ...
Justme's user avatar
  • 164k
7 votes
Accepted

CORTEX-M jump causes UFSR=2

Let's look at ARM's AN209 "Using Cortex-M3/M4/M7 Fault Exceptions": INVSTATE: [...] the processor has attempted to execute an instruction that makes illegal use of the Execution Program ...
Kuba hasn't forgotten Monica's user avatar

Top 50 recent answers are included