|
|
|
FAQ, по АРМам |
|
|
|
May 4 2007, 14:08
|
Частый гость
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343
|
Для пользующихся RVCC c Keilом Засунуть функции в ОЗУ можно с малейшими усилиями. Пишу, т.к. не я первый пролетел на незнании этой фичи. Вариант 1: - в свойствах проекта на вкладке target указываем начало и длину участка памяти для размещения функций в ОЗУ. Для SAM7S256 это 0x208000 0x2000 (так у меня), указывается в RAM1. - в свойствах файла, функции которого должны быть в ОЗУ указываем для размещения кода регион RAM1. Вариант 2: использование scatter-файла такого вида: Код FLASH_LOAD 0x100000 { EXE +0 0x40000 { *.o (RESET, +FIRST) * (+RO) } DATA 0x200000 0x8000 { * (+RW +ZI) } ISR_EXE 0x208000 0x2000 { interrupt.o (+RO) } } Здесь: 0x100000 - начало флеша контроллера, +0 0x40000 - писать код и константы с начала флеша до 0x140000, 0x200000 - начало памяти данных, 0x8000 - длина памяти данных, 0x208000 0x2000 - начиная с адреса 0x208000 поместить функции из модуля interrupt. Длина до 0x2000. Если надо засунуть еще что-то - добавляем в последнюю секцию строки вида file1.o (+RO) file2.o (+RO) ... filen.o (+RO)
|
|
|
|
|
Apr 3 2008, 10:41
|
Группа: Новичок
Сообщений: 10
Регистрация: 13-02-08
Пользователь №: 35 002
|
Здраствуйте. Я вчера стал счастливым обладателем платы с LPC2124, стал разбираться как чего. И вообщем у меня тут путаница в голове, какую среду разработки использовать. Сам я имею опыт работы с кейлом и яром под 51 и авр. А что посоветуети по арм?
Естьли платные компиляторы с лекарством от жадности? А что за компилятор еклипс и гну?
Нашел на сахаре посты по лекарсв на IAR purgen2.rar но скачать не смог ссылки не работаю, намыльте пожалуста у кого это есть shtefan_v гав mail.ru
Сообщение отредактировал Штефан Виталий - Apr 3 2008, 11:00
|
|
|
|
|
Jun 30 2008, 09:25
|
Группа: Новичок
Сообщений: 3
Регистрация: 16-06-08
Из: Беларусь, Минск
Пользователь №: 38 327
|
Цитата(Leen @ May 4 2007, 17:08) Для пользующихся RVCC c Keilом Засунуть функции в ОЗУ можно с малейшими усилиями. Пишу, т.к. не я первый пролетел на незнании этой фичи. Вариант 1: - в свойствах проекта на вкладке target указываем начало и длину участка памяти для размещения функций в ОЗУ. Для SAM7S256 это 0x208000 0x2000 (так у меня), указывается в RAM1. - в свойствах файла, функции которого должны быть в ОЗУ указываем для размещения кода регион RAM1. Вариант 2: использование scatter-файла такого вида: Код FLASH_LOAD 0x100000 { EXE +0 0x40000 { *.o (RESET, +FIRST) * (+RO) } DATA 0x200000 0x8000 { * (+RW +ZI) } ISR_EXE 0x208000 0x2000 { interrupt.o (+RO) } } Здесь: 0x100000 - начало флеша контроллера, +0 0x40000 - писать код и константы с начала флеша до 0x140000, 0x200000 - начало памяти данных, 0x8000 - длина памяти данных, 0x208000 0x2000 - начиная с адреса 0x208000 поместить функции из модуля interrupt. Длина до 0x2000. Если надо засунуть еще что-то - добавляем в последнюю секцию строки вида file1.o (+RO) file2.o (+RO) ... filen.o (+RO) А скажите, пожалуйста, как можно указать место в памяти, куда нужно поместить код используемых в программе стандартных ANSI C функций? Например, в своей программе я использую стандартную функцию sprintf(). Как её расположить в памяти по нужному мне адресу?
|
|
|
|
|
Jun 30 2008, 11:34
|
Группа: Новичок
Сообщений: 3
Регистрация: 16-06-08
Из: Беларусь, Минск
Пользователь №: 38 327
|
Цитата(aaarrr @ Jun 30 2008, 12:40) Не совсем то , но ход мысли правильный. Находите библиотеку и прописываете ее в нужной секции. Большое спасибо. А "вытащить" из этой библиотеки только то, что нужно для работы функции sprintf(), очень сложно?
|
|
|
|
|
Jun 30 2008, 11:59
|
Частый гость
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343
|
Цитата(Tatsy @ Jun 30 2008, 20:25) А скажите, пожалуйста, как можно указать место в памяти, куда нужно поместить код используемых в программе стандартных ANSI C функций? Например, в своей программе я использую стандартную функцию sprintf(). Как её расположить в памяти по нужному мне адресу? Да так же, в принципе, только для начала соберите проект со всеми используемыми стандартными библ. функциями с опцией linker-listing. В map-файле надо посмотреть, какая функция на какую ссылается (т.е. вызывает) и в каком/их обектнике/ах это все лежит. А потом - так же, как в примере. Чтоб не получилось, что sprintf из sprintf.o лежит в РАМе и пашет на 50 МГц, а _sputc из _sputc.о - во флеше на 15 эффективных . Может, есть путь прямее, не являясь знатоком стандартов С, утверждать не берусь.
|
|
|
|
|
Jun 30 2008, 12:17
|
Группа: Новичок
Сообщений: 3
Регистрация: 16-06-08
Из: Беларусь, Минск
Пользователь №: 38 327
|
Цитата(Leen @ Jun 30 2008, 14:59) Да так же, в принципе, только для начала соберите проект со всеми используемыми стандартными библ. функциями с опцией linker-listing. В map-файле надо посмотреть, какая функция на какую ссылается (т.е. вызывает) и в каком/их обектнике/ах это все лежит. А потом - так же, как в примере. Чтоб не получилось, что sprintf из sprintf.o лежит в РАМе и пашет на 50 МГц, а _sputc из _sputc.о - во флеше на 15 эффективных . Может, есть путь прямее, не являясь знатоком стандартов С, утверждать не берусь. Может это и "кривой" путь, но, похоже, это то, что от меня требуют. Спасибо
|
|
|
|
|
Jul 9 2008, 17:01
|
Частый гость
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141
|
если сравнить J-TRACE-ARM-2M и J-LINK то станет понятно чем они по возможностям отличаются, вот только J-TRACE-ARM-2M стоит не гуманных денег А точки останова умеет добавлять не отладчик, а скорее драйвер, бо он прошивку правит перед заливкой.
|
|
|
|
|
Jul 23 2008, 06:21
|
Участник
Группа: Участник
Сообщений: 47
Регистрация: 16-06-08
Из: Челны
Пользователь №: 38 318
|
Доброго времени суток. Извините если вопрос ламерский, первый раз работаю с арм. Ситуация такая. Есть АТ91RM9200. Пустой, т.е только запаяный чип. Как мне Залить линукс в проц? Т.е нужно сначало зашить бутлоадер, затем уже прошивку с линухом? Опишите пожалуйста кому не лель поэтапно. Другого места запостить не нашел но думаю это частый вопрос новичков. На плате rs232, DM9161E, два USB порта (хост и девайс) Заранее спасибо.
--------------------
www.ea16.ru
|
|
|
|
|
Jul 23 2008, 07:26
|
Местный
Группа: Свой
Сообщений: 304
Регистрация: 5-07-04
Из: г. Москва
Пользователь №: 259
|
Цитата(Aleksandr_des @ Jul 23 2008, 10:21) Доброго времени суток. Извините если вопрос ламерский, первый раз работаю с арм. Ситуация такая. Есть АТ91RM9200. Пустой, т.е только запаяный чип. Как мне Залить линукс в проц? Т.е нужно сначало зашить бутлоадер, затем уже прошивку с линухом? Опишите пожалуйста кому не лель поэтапно. Другого места запостить не нашел но думаю это частый вопрос новичков. На плате rs232, DM9161E, два USB порта (хост и девайс) Заранее спасибо. Почитать этот форум - подфорум "Отладочная плата AT91RM9200" - там найдете ответ на ваш вопрос, и все что возникнут в процессе.
--------------------
Водку пьянствовать и безобразия нарушать!!!
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|