Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IAR Asm
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
pirotehnick
Решил попробовать покодить на 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


Вобщем ввиду отсутствия опыта и нормальных примеров, так и не разобрался.

Код
NAME    main
              
        PUBLIC  __iar_program_start
      
        SECTION .intvec : CODE (2)
      
        THUMB
      
__iar_program_start
      
        B       main
      
        SECTION .text : CODE (2)

        THUMB

main    NOP
      
        B main

        END



Буду весьма благодарен за помощь.
KRS
Это Cortex-M3 у него есть только THUMB-2, поэтому ARM, CODE32 и не поддерживает.
Если сказали что метка __vector_table будет PUBLIC
Надо и саму метку определить!

Вам надо посмотреть исходники startup, они в IAR есть.
И почитать доку на линкер и asm.

pirotehnick
К сожалению так нормальных примеров и не нашёл.
Попробовал скомпилить содержимое файла "startup_LPC17xx.s"

компоновщик пишет.

Error[Li005]: no definition for "__iar_program_start" [program entry]
Error[Li005]: no definition for "SystemInit" [referenced from E:\IAR_ARM_PRJ\Debug\Obj\asm.o]
Error[Li005]: no definition for "__iar_program_start" [referenced from E:\IAR_ARM_PRJ\Debug\Obj\asm.o]
Error while running Linker


Не уже ли ни кто не кодил на асьме под Cortex-M3. Может у кого есть примеры разработки на других средах?
Сергей Борщ
Цитата(pirotehnick @ Oct 27 2010, 10:48) *
Не уже ли ни кто не кодил на асьме под Cortex-M3
Да ошибки общие для любого процессора и любой среды разработки, подерживающей линковку. startup_LPC17xx.s не является законченной программой. В процессе работы он передает управление на метки SystemInit и __iar_program_start, которые предполагаются быть определнными в других исходных файлах проекта. В этом файле эти метки отсутствуют. Вот куда бы вы на месте программы перешли бы по команде B __iar_program_start ? И линкер тоже не знает.

Прочитайте документацию на линкер. На любой.
KRS
Цитата(pirotehnick @ Oct 27 2010, 11:48) *
Не уже ли ни кто не кодил на асьме под Cortex-M3. Может у кого есть примеры разработки на других средах?

Так Cortex-M3 специально под С создан! Можно вообще без ASM обойтись! Даже стек он сам загружает. В прерываниях регистры сам сохраняет.
ASM только для шедулера и нужен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.