Решил попробовать покодить на IAR Assembler for ARM, т.е. на чистой асьме по кристалл LPC1768. В настройках проекта выбрал: NXP LPC1768 Во-первых непонятно почему компилятор пишет вот такое:
Error[440]: The selected cpu/core does not support ARM/CODE32 assembly mode E:\IAR_ARM_PRJ\asm.s 11
THUMB поддерживает, но как я понял это есть Thumb-2 ?
Во-вторых выдаёт вот такое:
ielftool error: Symbol not found __vector_table
пытался вклинивать PUBLIC __vector_table
пишет следующее:
Error[67]: Public '__vector_table' did not appear in label field E:\IAR_ARM_PRJ\asm.s 27
Вобщем ввиду отсутствия нормальных примеров, так и не разобрался.
Год прошел... Никто топикстартеру не ответил Что, на самом деле для ARM на асме пишут 0.00001% человек? Я вот тоже решил ARM пощупать, пока в симуляторе (IAR). Собственно вопрос:
Код:
NAME main ;первая прога для ARM :D PUBLIC __iar_program_start PUBLIC __vector_table INCLUDE stm32f10x.asm SECTION .intvec:CODE:ROOT(2) DATA __vector_table INCLUDE INTS.asm SECTION .start:CODE:NOROOT(2) THUMB __iar_program_start main MOV R1,#0x01 ;включаем тактирование порта A через бит-бэнд: LDR r0,=(0x42420310) ;APB2ENR=0х40021018, IOPAEN - 2-й бит=> ;=>0х42000000+(0х40021018-0х40000000)*0х20+2*4=0x42420310 STR r1,[r0] ;записываем туда "1" LOOP B LOOP END
Это попытка включить порт А. Если делать через "считать-наложить маску-записать", то все работает, в окне регистров в IOPAEN появляется "1". Через бит-банд - облом. Что я делаю не так и симулирует ли эту фишку IAR?
PS: Пробовал циклом заполнять всю память района бит-бэнд периферии единицами, ни в одном из регистров ничего не изменилось
На симулятор забей. Он, как я понимаю, кроме ядра и идеальной памяти ничего не симулирует
У меня железки пока нет. Так что забивать не могу. Вопрос был именно в том, что IAR симулирует, а что нет. И если нет, то кто умеет это делать (Keil например?). А что касается темы "ASM vs ..." - тут это прошу не обсуждать . Известно чем кончится
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения