Многоядерная сборка на Allwinner H3

Я использую NanoPi Neo Air и считаю невозможным заставить какой-либо код работать на любом из других ядер. Я не использую ОС. В этом примере показано, как запустить многоядерный код на Raspberry Pi. Я не смог найти никакой информации о NanoPi-эквиваленте этого кода, за исключением исходного кода Linux. Я попытался написать эквивалент функции smp_boot_secondary в сборке ARM, но это не работает.

LDR  r0, =multicore_start @ Func ptr
MOVW r11, #0x1DA4 @ Set ptr
MOVT r11, #0x01F0
STR  r0, [r11]

MOVW r1, #0x1C80
MOVT r1, #0x01F0
MOV  r11, #0      @ Reset core
STR  r11, [r1]

MOVW r2, #0x0003 @ Mask to reset L1 for CORE1
MOVT r2, #0x0000

MOVW r11, #0x1D84 @ Turn off L1
MOVT r11, #0x01F0
LDR  r10, [r11]
BIC  r10, r10, r2
STR  r10, [r11]

MOVW r11, #0x1500 @ Clear power off
MOVT r11, #0x01F0
LDR  r10, [r11]
BIC  r10, r10, r2
STR  r10, [r11]

MOVW r11, #0x1C80
MOVT r11, #0x01F0
MOV r11, #3       @ Power up the core
STR r11, [r1]

Я подхожу к этому неправильно?

0 ответов

Другие вопросы по тегам