реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> IAR Asm, IAR Assembler for ARM
pirotehnick
сообщение Oct 25 2010, 16:59
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 25-10-10
Пользователь №: 60 408



Решил попробовать покодить на 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



Буду весьма благодарен за помощь.
Go to the top of the page
 
+Quote Post
KRS
сообщение Oct 26 2010, 18:39
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



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

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

Go to the top of the page
 
+Quote Post
pirotehnick
сообщение Oct 27 2010, 07:48
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 25-10-10
Пользователь №: 60 408



К сожалению так нормальных примеров и не нашёл.
Попробовал скомпилить содержимое файла "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, 07:50
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 27 2010, 08:31
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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

Прочитайте документацию на линкер. На любой.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
KRS
сообщение Oct 27 2010, 08:50
Сообщение #5


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



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

Так Cortex-M3 специально под С создан! Можно вообще без ASM обойтись! Даже стек он сам загружает. В прерываниях регистры сам сохраняет.
ASM только для шедулера и нужен.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 06:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01385 секунд с 7
ELECTRONIX ©2004-2016