из грязи в князи или CortexA8

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Сообщение dzrkot »

Вообщем возникла необходимость освоить Sitara ARM CortexA8 AM335x, а конкретно AM3358.
В наличии для освоения есть TMDSSK3358. Проблема в том, что я... ну могу делать простенькие вещи скажем на AVR не запариваясь над тем что происходит внутри, знаю С и С++ чего тоже вроде достаточно для таких целей, но это для меня какой-то МОНСТР.
Я не представляю как к нему подойти даже(читаю Guide и datasheet но ппц...), не говоря о том что мне в дальнейшем надо будет поставить на него Linux и реализовать на нём тоже какие-то чудовищные вещи...
Вообщем мне нужны советы на тему того, что бы неплохо почитать и с чем придётся столкнуться, какие знания мне понадобятся, и желательно конкретная литература. Сейчас взял Таненбаума "Современные операционные системы".

Не ругайтесь я только недавно закончил универ, нашёл работу для опыта и я самоучка, больше мне информации получить особо неоткуда
Реклама
Мучитель микросхем
Сообщения: 478
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Сообщение Galizin »

В строке поиска google набрать AM335x linux. Вроде выскакивает достаточно большой документ с сайта TI.
Реклама
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Сообщение dzrkot »

Да мне это не поможет...
Я элементарных вещей то не понимаю...как туда залить прогу и запустить её...
Там к примеру linux стоит на mSD карте, значит мне надо как-то залить на неё свою прогу, а потом ещё как-то её скомпилировать же там и запускать ...
Мучитель микросхем
Сообщения: 478
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Сообщение Galizin »

Да мне это не поможет...

Тогда ничто Вам не поможет. Все придется делать самому.

Попробуйте все сделать по шагам как в документе AM335x PSP User Guide
После беглового просмотра вроде все написано как делать.
1. Установить загрузчик
2. Записать ядро на флешку, скорее всего на флешку еще что нибудь потребуется записать типа bin etc каталогов.
3. Установить какой-то перключатель или перемычки на плате. Или как то другим образом сказать ему что грузить и откуда.
4. Засунуть флешку в соотв отверстие и включить питание.

Скорее всего linux будет выводить что нибудь на какой либо uart-usart в терминал и принимать символы также в терминале. В документайции орять таки скорее всего написано в какой и на какой скорости. Возможно загрузчик также может управляться через терминал. Нужно смотреть документ.
Не паникуйте. Придется прочитать все документы. Я не говорю что Вам. Но скорее всего именно это и случится.

Да Вам же нужно свою прогу запустить.
Ну нужно скомпилировать ее с помошь. кросс компилятора gcc склорее всего. Потом скопировать на ту же флешку. Потом запустить из командной строки. Комондная строка у Вас наверно появитсья в терминале (rs232) или по telnet.
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 5
Зарегистрирован: Вс ноя 10, 2013 21:21:32

Сообщение linuxmaster »

Просто представьте, что это уже не просто микроконтроллер, а компьютер ^__^ И действуйте в нём, как в компьютере.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

Ку. Автор что за отладка ? или просто голый AM335x к которому надо приделать плату ??
Готов помочь в меру сил.
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Реклама
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Сообщение dzrkot »

плата TMDSSK3358
Мне на основе этой платы мне надо научиться работать с этим контроллером(пока что не используя ОС.) Т.е. подергать ножками и т.п.
для начала пытаюсь просто подключить StartWare для am335x к CCS(хочу интегрировать со средой, но безуспешно) и на ней и диодом поморгать, в силу отвратительного английского в документации разобраться не получается и ничего не выходит.
linuxmaster писал(а):Просто представьте, что это уже не просто микроконтроллер, а компьютер ^__^ И действуйте в нём, как в компьютере.
да в том то и дело что мне надо работать напрямую, задачи писать всякие плюшки на QT пока что не ставили, только вроде как в перспективе.
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Сообщение dzrkot »

сейчас прочитал в описании этого startKit'a вот здесь http://processors.wiki.ti.com/index.php ... How_To.27s
что как я понял(я непонимаю анг сидел с переводчиком) у них нету встроенного отладчика/загрузчика, и надо там что-то химичить с платой:
"Install JTAG Header - the AM335x Starter Kit does not include a JTAG header due to the fact that we have XDS100 capability via USB. However, we did leave the header for the JTAG connector. This How to will explain how to install the JTAG connector to your Starter Kit. "
и далеессылка на http://processors.wiki.ti.com/index.php ... r_kit_jtag
Собутыльник Кота
Аватара пользователя
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев

Сообщение BCluster »

Нет разъема для JTAG, ввиду того, что плата поддерживает отладку через USB. Вот что там написано.
На сайте есть все что нужно для этой штуки. Без английского, конечно, будет крайне трудно
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

cortex-a8 и подергать ножками - это как из пушки по воробьям. вам так не кажется ?
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Сообщение dzrkot »

для начала мне нормально будет)
разобрался как подключать и заливать на плату через CCS, теперьпытаюсь найти стандартные хедеры,т.е. чтобы ковыряться в регистрах напрямую а не через всякие startWare'вские функции ... не могу найти нигде их ...=(
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Сообщение dzrkot »

вычитал (мб опять неправильно перевёл) что в папке AM335X_StarterWare_02_00_01_01\include лежат все хедеры по инициализации ядра
Собутыльник Кота
Аватара пользователя
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев

Сообщение BCluster »

в starterware есть ccs проект пример. Загрузите его в плату и оттуда пляшите
Контактная информация:
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Сообщение dzrkot »

да я пытаюсь, но там APIшные функции всё.. чего то я не понимаю в этой жизни, не моё это (((
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

dzrkot писал(а):чего то я не понимаю в этой жизни, не моё это (((
Бывает. Ну так и не беритесь за этот CortexA8, в чем проблема-то?
Контактная информация:
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Сообщение dzrkot »

Леонид Иванович писал(а): Бывает. Ну так и не беритесь за этот CortexA8, в чем проблема-то?
да сказали чтобы осваивал....
вроде накатал такую вещь с API, компилируется, загружается, но не работает (есть подозрения что просто распиновка на диоды у меня не та т.к. схема старая)

Код: Выделить всё

#include "soc_AM335x.h"
#include "gpio_v2.h"
#include "hw_types.h"

int i;
int main(void)
{
GPIOModuleEnable(SOC_GPIO_0_REGS);
GPIOModuleEnable(SOC_GPIO_1_REGS);
GPIODirModeSet  (SOC_GPIO_0_REGS, 30,  GPIO_DIR_OUTPUT) ;
GPIODirModeSet  (SOC_GPIO_1_REGS,  5,  GPIO_DIR_OUTPUT) ;
//GPIODirModeSet  (SOC_GPIO_0_REGS,  6,  GPIO_DIR_OUTPUT) ;
//GPIODirModeSet  (SOC_GPIO_0_REGS,  7,  GPIO_DIR_OUTPUT) ;

	while(1)
	{
	GPIOPinWrite (SOC_GPIO_0_REGS, 30 ,  GPIO_PIN_HIGH  );
	GPIOPinWrite (SOC_GPIO_1_REGS,  5 ,  GPIO_PIN_HIGH  );
	//GPIOPinWrite (SOC_GPIO_0_REGS,  6 ,  GPIO_PIN_HIGH  );
	//GPIOPinWrite (SOC_GPIO_0_REGS,  7 ,   GPIO_PIN_HIGH  );
		for (i=0;i<10000;i++)
		{
		}
		GPIOPinWrite (SOC_GPIO_0_REGS, 30 ,  GPIO_PIN_LOW  );
		GPIOPinWrite (SOC_GPIO_1_REGS,  5 ,  GPIO_PIN_LOW  );
		//GPIOPinWrite (SOC_GPIO_0_REGS,  6 ,  GPIO_PIN_LOW  );
		//GPIOPinWrite (SOC_GPIO_0_REGS,  7 ,  GPIO_PIN_LOW  );
		for (i=0;i<10000;i++)
		{
		}
	}
}
Собутыльник Кота
Аватара пользователя
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев

Сообщение BCluster »

Ну так проверьте схему? :)
Там есть примеры, которые можно загрузить и просто посмотреть что ОНО РАБОТАЕТ. Рекомендую начать именно с этого
Контактная информация:
Родился
Аватара пользователя
Сообщения: 12
Зарегистрирован: Вт сен 16, 2008 01:12:59

Сообщение microbober »

Для мигания светодиодами можно включить GPIO sysfs интерфейс в конфиге и пересобрать ядро.
Для отладки высокоуровневых приложений можно запустить gdb сервер и отлаживать через сеть, отлаживал так Qt'шные приложения в Qt Creator'е на AM3359, CCS не пользовался.
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Сообщение dzrkot »

microbober писал(а):Для мигания светодиодами можно включить GPIO sysfs интерфейс в конфиге и пересобрать ядро.
а можно поподробнее как это сделать или ссылки на документацию, очень прошу)
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Сообщение dzrkot »

..разобрался и запустил несчастные диоды ))
Ответить

Вернуться в «ARM»