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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Проба ARM, начал с LPC2134 c IAR
arttab
сообщение Feb 20 2007, 12:58
Сообщение #1


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Начал создавать новый проект (иар4.40А) и не понял как в примерах стартап получался.
может кто-нибудь объяснить или ссылку кинуть (если не на русском, то плиз картинок по больше или ролик).
Спасибо.

или я туплю (путаю с кейлом) и все надо ручками?
а к проекту только подключить #include"iolpc2134.h" ?


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 20 2007, 13:17
Сообщение #2


Гуру
******

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



Цитата(arttab @ Feb 20 2007, 11:58) *
Начал создавать новый проект (иар4.40А) и не понял как в примерах стартап получался.
По-хорошему он автоматически подлинковывается из библиотеки. И только если он вас чем-то не устраивает (что случается очень редко) надо подключать свой.

Вот тут про создание проекта для SAM7, для LPC точно так же.


--------------------
На любой вопрос даю любой ответ
"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
arttab
сообщение Feb 21 2007, 06:04
Сообщение #3


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Спасибо за ответ. Рою дальше.
Для ознакомления открыл демо 213х.
В demo.c есть #include "includes.h". уже в нем
#ifndef __INCLUDES_H
#define __INCLUDES_H

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <stdbool.h>

#include <intrinsics.h>
#include <iolpc2148.h>

#include <LPC_data_type.h>
#include <arm_comm.h>
#include <LPC2138_sys_cnfg.h>

#include <menu_cnfg.h>
#include <menu.h>
#include <drv_hd44780.h>
#include <LPC_SysControl.h>
#include <LPC_Vic.h>
#include <LPC_Uart.h>
#include <LPC_Timer.h>
#include <LPC_Rtc.h>

#endif // __INCLUDES_H

Если я правильно понял то это самодельный файл. для краткости в него запихали все подключаемое.
Вопрос по организыции проекта: куча папок app, board.... Это стиль написания проекта?

Вот я пока и не могу разобраться что должен я написать сам, что подключить готовое (если мне не нужно делать что то особенное - xcl редактировать под свое размещение сегментов).

Покопаюсь еще в хелпе - может допрет.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
DASM
сообщение Feb 21 2007, 06:30
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



не с того начали.. перходите на Keil - чтобы потом не было мучительно больно за бесцельно прожитую жизнь
Go to the top of the page
 
+Quote Post
arttab
сообщение Feb 21 2007, 07:15
Сообщение #5


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Цитата
не с того начали.. перходите на Keil - чтобы потом не было мучительно больно за бесцельно прожитую жизнь

Зачем плодить сущие без надобности? Я в иаре под AVR работаю. А кейл менее конфигурируемый (помниться до 4 сегментов пользователя). IDE дело вкуса и привычки

Цитата
Вот тут про создание проекта для SAM7, для LPC точно так же.

По хелпу создание проекта прошел, но не дошло как иару указать начальную конфигурацию кристала.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
DASM
сообщение Feb 21 2007, 07:18
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Цитата(arttab @ Feb 21 2007, 07:15) *
Цитата
не с того начали.. перходите на Keil - чтобы потом не было мучительно больно за бесцельно прожитую жизнь

Зачем плодить сущие без надобности? Я в иаре под AVR работаю. А кейл менее конфигурируемый (помниться до 4 сегментов пользователя). IDE дело вкуса и привычки

Цитата
Вот тут про создание проекта для SAM7, для LPC точно так же.

По хелпу создание проекта прошел, но не дошло как иару указать начальную конфигурацию кристала.

Какие 4-ре сегмента ??? Я про компилятор RVDS и скаттер файлы - куда уж гибче. Впрочем дело ваше - когда отладка будет отваливаться на каждом шагу в большом проекте - вспомните
Go to the top of the page
 
+Quote Post
arttab
сообщение Feb 21 2007, 08:28
Сообщение #7


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



из примера на SAM7X256 получается, что конфигурация задается в начале main.
Т.е. подключаю файл описания .h (вот только какой для lpc2134?) и в Main начинаю настраивать переферию и прочее?


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 21 2007, 09:55
Сообщение #8


Гуру
******

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



Цитата(arttab @ Feb 21 2007, 07:28) *
из примера на SAM7X256 получается, что конфигурация задается в начале main.

Можно там, можно в __low_level_init(). А AVR вы как конфигурите? Делайте и тут также.
Цитата(arttab @ Feb 21 2007, 07:28) *
Т.е. подключаю файл описания .h (вот только какой для lpc2134?)
А поищите в IAR\EWARM\ARM\INC


--------------------
На любой вопрос даю любой ответ
"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
arttab
сообщение Feb 21 2007, 13:38
Сообщение #9


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Цитата
А поищите в IAR\EWARM\ARM\INC

нашел iolpc2134.h. это аналог под avr ioM8.inc - дефаин регистров и прочего. подключил.
Цитата
Можно там, можно в __low_level_init(). А AVR вы как конфигурите? Делайте и тут также.

под avr делаю в начале mian, но в avr нет таких тонкостей (включить MAM или нет, определить стеки для разных режимов,....)
нашел файл cstartup.s79. Получается в нем на асме надо написать инициализацию железа. Достаточно ли этот файл просто добавить в прект или надо в xcl поправить размещение? И как?

Цитата
__low_level_init()

по встроеному шелпу ее можно использовать для задания начальной конфигурации. так:
__low_level_init()
{MAMCR=0;
MAMTIM=0x03;}
?
Спасибо за помощь! уже не в первый раз выручаете.

если можно дайте простой пример: trumb, UART (на какуе-нибудь скорость), и вектор на USART.
буду дальше разбираться


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 21 2007, 14:21
Сообщение #10


Гуру
******

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



Цитата(arttab @ Feb 21 2007, 12:38) *
нашел файл cstartup.s79. Получается в нем на асме надо написать инициализацию железа. Достаточно ли этот файл просто добавить в прект или надо в xcl поправить размещение? И как?
Не,этот файл вам не нужен. Точнее он подлинкуется из библиотеки и сам настроит стеки. Вам остается только периферию настроить. Как и в AVR smile.gif МАМ является периферией, как и контроллер прерываний.
Цитата(arttab @ Feb 21 2007, 12:38) *
Цитата
__low_level_init()

по встроеному шелпу ее можно использовать для задания начальной конфигурации. так:
__low_level_init()
{MAMCR=0;
MAMTIM=0x03;}
?
Угу, только return 1; Иначе память не проинициализует.
Цитата(arttab @ Feb 21 2007, 12:38) *
если можно дайте простой пример: trumb, UART (на какуе-нибудь скорость), и вектор на USART.
буду дальше разбираться
Вот, надергал из проекта. Компилится, но проверить сейчас не на чем. Правда С++, но думаю идея будет понятна.


--------------------
На любой вопрос даю любой ответ
"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
arttab
сообщение Feb 22 2007, 05:44
Сообщение #11


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Спасибо! Посмотрю. MAM я для примера привел (неудачно) имел ввиду стеки. Если cstartup.s79 сам подлинкуется, то и размер стеков будет автоматом определен для данного проекта?


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 22 2007, 11:11
Сообщение #12


Гуру
******

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



Цитата(arttab @ Feb 22 2007, 04:44) *
имел ввиду стеки. Если cstartup.s79 сам подлинкуется, то и размер стеков будет автоматом определен для данного проекта?
Да, сколько указано в .xcl, столько и пропишет.


--------------------
На любой вопрос даю любой ответ
"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
arttab
сообщение Feb 22 2007, 12:17
Сообщение #13


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Цитата
Да, сколько указано в .xcl, столько и пропишет.

Блин, опять не понял.
Для каждого проекта размер стеков индивидуален. А тут получается прошишит значения для "среднего" проекта. И если мне будет мало или много "средних" размеров стеков, то нужно лезь в .xcl?


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
gladov
сообщение Feb 22 2007, 12:27
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 169
Регистрация: 10-11-05
Из: Воронеж
Пользователь №: 10 687



Цитата(arttab @ Feb 22 2007, 12:17) *
Цитата
Да, сколько указано в .xcl, столько и пропишет.

Блин, опять не понял.
Для каждого проекта размер стеков индивидуален. А тут получается прошишит значения для "среднего" проекта. И если мне будет мало или много "средних" размеров стеков, то нужно лезь в .xcl?

Файл .xcl принято для КАЖДОГО проекта писать отдельно. И класть его, например, в settings проекта.
Если присмотреться к файлу более внимательно, станет видно, что там вообще нет общих настроек для гипотетического проекта. Только конкретные указания линкеру, которые индивидуальны для каждого проекта.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 22 2007, 12:34
Сообщение #15


Гуру
******

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



Цитата(arttab @ Feb 22 2007, 11:17) *
И если мне будет мало или много "средних" размеров стеков, то нужно лезь в .xcl?
Когда вы писали для AVR, вы могли размеры стеков задать в оболочке или в xcl - там стеков было всего два и куча. Тут стеков несколько больше, поэтому, видимо, проще оказалось не мучаться с оболочкой а оставить только вариант с xcl.


--------------------
На любой вопрос даю любой ответ
"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

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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 07:53
Рейтинг@Mail.ru


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