Hi. Thank you for the video. Very useful. The ARM documentation, and some of the examples on the web, specifically state that you can toggle bits using bit-banding. How does that work? I see no way to do it. E.g. using the variable in your example, if I write: bbFlag_1 ^= bbFlag_1; then that is not atomic, right? Is there some other way to do this that I don't see?
Good question. Seems like it doesn't. "Code designed for the Cortex-M3 and Cortex-M4 processors is compatible with the Cortex-M7 processor as long as it does not rely on bit-banding." infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0489d/CHDJIGCG.html I was thinking that M7 has the M3,4 functionality plus something extra, but it seems like that because of new caching M7 features it's not possible to bit-band.
Great explanation !!! Learned way more thany professors,the examples are very good and practical!
I use cubeide LL library n cant get it to work always returns errors how to make it work in cubeide pls
Very interesting video. The problem of atomic operations in embedded microcontrollers are very often neglected
Awesome explanation. Thanks a lot.
Hi. Thank you for the video. Very useful. The ARM documentation, and some of the examples on the web, specifically state that you can toggle bits using bit-banding. How does that work? I see no way to do it. E.g. using the variable in your example, if I write:
bbFlag_1 ^= bbFlag_1;
then that is not atomic, right?
Is there some other way to do this that I don't see?
Does M7 have bitband addressing?
Good question. Seems like it doesn't.
"Code designed for the Cortex-M3 and Cortex-M4 processors is
compatible with the Cortex-M7 processor as long as it does not rely
on bit-banding."
infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0489d/CHDJIGCG.html
I was thinking that M7 has the M3,4 functionality plus something extra, but it seems like that because of new caching M7 features it's not possible to bit-band.
I suspect lack of memory barrier instructions in most code written for M3 & M4 might also be a compatibility headache....
Nice Explanation Sir !
Thank you. Let me know which another ARM topic could be interesting to you.
That was awsome.
great!!! thanks...