Rdzenie Cortex-M i assembler

Wytłumaczcie mi cos bo sie juz pogubilem. Czytam sobie o uC LPC11xx z rdzeniem Cortex-M0. Jaki zestaw instrukcji on obsługuje? Thumb, Thumb-2, czy oba?

Podobnie troche inny STM32 z rdzeniem Cortex-M3. Jaki zestaw jest w tej grupie?

Reply to
slawek7
Loading thread data ...

W dniu 2011-12-29 07:19, slawek7 pisze:

Cortexy M3 obługują tylko Thumb2. M0 podzbiór Thumb2 (np. nie mają dzielenia).

formatting link
formatting link

Reply to
Zbych

Ale jak czytam Datasheet uC czy to STM32 czy LPC11xx to tam nie jest to napisane.

W STM32 pisze ze obsługują instrukcje Thumb. Ale nie ma wzmianki czy jest to Thumb-2.

I jak to rozróżnić, która instrukcja jest zwykla Thumb a która Thumb-2?

Reply to
slawek7

W dniu 2011-12-29 08:27, slawek7 pisze:

A jaka to różnica jak to nazwiesz?

Reply to
Zbych

I dlatego dla EU marchewka tez owoc :)

formatting link
"To improve compiled code-density, processors since the ARM7TDMI have featured Thumb instruction set, which have their own state. the processor executes the Thumb instruction set, a compact 16-bit encoding for a subset of the ARM instruction set.[22] Most of the Thumb instructions are directly mapped to normal ARM instructions. The space-saving comes from making some of the instruction operands implicit and limiting the number of possibilities compared to the ARM instructions executed in the ARM instruction set state."

formatting link
"Thumb-2 technology made its debut in the ARM1156 core, announced in 2003. Thumb-2 extends the limited 16-bit instruction set of Thumb with additional

32-bit instructions to give the instruction set more breadth, thus producing a variable-length instruction set."

W przyblizeniu tryb Thumb mozna traktowac jako dodatek do podstawowego trybu ARM, zapewniajacy wysoka "gestosc kodu". Natomiast tryb Thumb-2 dostarcza pelen zestaw instrukcji i tryb ARM nie jest juz konieczny, np. aby "dostac" sie do rejestru CPSR.

Reply to
cepu69

Dla AVR lub 8051 to było proste. Oficjalnie było podane jak wygląda instrukcja, ile zajmuje miejsca w pamieci oraz co z jej parametrami. A tu tak jakby ktos to ukrywal.

A z tego co piszecie to Cortex-M0 i Cortex-M3 używaja po prostu instrukcji Thumb-2, nie maja instrukcji ARM 32-bitowych oraz zwyklych Thumb. A roznica miedzy M0 a M3 polega na mniejszej ilosci instrukcji, ktore sa 16-bitowe.

Czy tak, czy znowu cos pomieszalem?

Reply to
slawek7

Dla AVR lub 8051 to było proste. Oficjalnie było podane jak wygląda instrukcja, ile zajmuje miejsca w pamieci oraz co z jej parametrami. A tu tak jakby ktos to ukrywal.

A z tego co piszecie to Cortex-M0 i Cortex-M3 używaja po prostu instrukcji Thumb-2, nie maja instrukcji ARM 32-bitowych oraz zwyklych Thumb. A roznica miedzy M0 a M3 polega na mniejszej ilosci instrukcji, ktore sa 16-bitowe.

Czy tak, czy znowu cos pomieszalem?

Reply to
slawek7

Dla AVR lub 8051 to było proste. Oficjalnie było podane jak wygląda instrukcja, ile zajmuje miejsca w pamieci oraz co z jej parametrami. A tu tak jakby ktos to ukrywal.

A z tego co piszecie to Cortex-M0 i Cortex-M3 używaja po prostu instrukcji Thumb-2, nie maja instrukcji ARM 32-bitowych oraz zwyklych Thumb. A roznica miedzy M0 a M3 polega na mniejszej ilosci instrukcji, ktore sa 16-bitowe.

Czy tak, czy znowu cos pomieszalem?

Reply to
slawek7

Dla AVR lub 8051 to było proste. Oficjalnie było podane jak wygląda instrukcja, ile zajmuje miejsca w pamieci oraz co z jej parametrami. A tu tak jakby ktos to ukrywal.

A z tego co piszecie to Cortex-M0 i Cortex-M3 używaja po prostu instrukcji Thumb-2, nie maja instrukcji ARM 32-bitowych oraz zwyklych Thumb. A roznica miedzy M0 a M3 polega na mniejszej ilosci instrukcji, ktore sa 16-bitowe.

Czy tak, czy znowu cos pomieszalem?

Reply to
slawek7
[...]

Na razie masz czkawkę...

Reply to
RoMan Mandziejewicz

czyli namieszalem????? i to pozadnie?

A mozesz jakos to upozadkowac? Wiem ze powiesz ze jest opisane, ale nie mam sie gdzie zapytac i nie daje mi to spokoju.

Reply to
slawek7

czyli namieszalem????? i to pozadnie?

A mozesz jakos to upozadkowac? Wiem ze powiesz ze jest opisane, ale nie mam sie gdzie zapytac i nie daje mi to spokoju.

Reply to
slawek7

czyli namieszalem????? i to pozadnie?

A mozesz jakos to upozadkowac? Wiem ze powiesz ze jest opisane, ale nie mam sie gdzie zapytac i nie daje mi to spokoju.

Reply to
slawek7

Podałem ci linki do zestawów instrukcji CM3 i MM0. Przeczytałeś to chociaż?

Reply to
Zbych

Przeczytałem, a wierzysz, chyba nie?

Reply to
slawek7

Przeczytałem, a wierzysz, chyba nie?

Reply to
slawek7

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.