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

 
 
> Кто работал с PPC460ex от AMCC?
Volldemar
сообщение Jan 13 2010, 15:57
Сообщение #1


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

Группа: Участник
Сообщений: 121
Регистрация: 27-04-09
Из: Украина
Пользователь №: 48 342



Кто имеет опыт работы с данным девайсом? Отпишитесь плиз! Нужна помощь и консультация.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Volldemar
сообщение Jan 19 2010, 07:44
Сообщение #2


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

Группа: Участник
Сообщений: 121
Регистрация: 27-04-09
Из: Украина
Пользователь №: 48 342



Поделитесь плиз исходником (Си или Асм) работающий без ОС (нужна "рыба" первоначальной инициализации), к примеру выдающий на RS232 константу. И нужна методика преобразования (какое ПО использовать и т.п.) исходника в бинарный вид для выполнения без ОС, загрузка этого бинарника в память процессора с помощью U-BOOTa и запуск на выполнение.

Сообщение отредактировал Volldemar - Jan 19 2010, 07:45
Go to the top of the page
 
+Quote Post
doomer#gp
сообщение Feb 2 2010, 17:53
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 382
Регистрация: 10-03-05
Из: USA
Пользователь №: 3 234



Цитата(Volldemar @ Jan 19 2010, 11:44) *
Поделитесь плиз исходником (Си или Асм) работающий без ОС (нужна "рыба" первоначальной инициализации), к примеру выдающий на RS232 константу. И нужна методика преобразования (какое ПО использовать и т.п.) исходника в бинарный вид для выполнения без ОС, загрузка этого бинарника в память процессора с помощью U-BOOTa и запуск на выполнение.


I can give you information about PPC440EP only. I brought up board with it from scratch. I think it's not far different from PPC460.
Go to the top of the page
 
+Quote Post
Volldemar
сообщение Feb 3 2010, 09:24
Сообщение #4


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

Группа: Участник
Сообщений: 121
Регистрация: 27-04-09
Из: Украина
Пользователь №: 48 342



Цитата(doomer#gp @ Feb 2 2010, 19:53) *
I can give you information about PPC440EP only. I brought up board with it from scratch. I think it's not far different from PPC460.


Буду очень благодарен за инфу и по PPC440!
Go to the top of the page
 
+Quote Post
doomer#gp
сообщение Feb 4 2010, 08:09
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 382
Регистрация: 10-03-05
Из: USA
Пользователь №: 3 234



Процессор всегда работает с включенным страничным преобразованием адреса.
Поэтому, прежде чем обращаться к области памяти адресуемые через шины PLB и OPB (вся внешняя память и кэш)
необходимо иметь дескрипторы описывающие эти области в слотах буфера трансляции адреса - MMU TLB. Там 64 слота.
Для доступа к регистрам периферии адресуемым по шине DCR (c помощью команд mtdcr, mfdcr) дескрипторов в TLB не нужно.
В случае отсутсвия записи в TLB для адреса по которому производится выборка генерируется исключение.
Адреса обработчиков исключение задаются регистрами IVPR, IVOR0-IVOR15. IVPR - 16 старших бит адреса блока кода обработчиков,
IVOR0-IVOR15 смешение каждого обработчика относительно IVPR.

После сброса процессор создает в теневом регистре TBL дескрипртр последних 4K адресного пространства и выполняет
выборку инструкции из последнего двовойного слова по адресу 0xFFFFFFFC.
Память отбражаемая в эти 4К определяется загрузочной конфигурацией. Она выставляется линиями
UART0_DCD, UART0_DSR, UART0_CTS. Например, последние 4К 2Mb flash на nCS0.

Далее необходимо (примерно)
- выполнить набор команд покрывающие Core Errata,
- Отключить кэш
- Явно загрузить в TBL дескриптор верхних 4К
- Загрузить остальные дескрирторы в TLB
- Выполнть синхронизацию, чтобы измениения в TLB вступили в силу (isync, rfi)
- Инициализировать таблицу обработчиков исключений
- Инициализировать периферию
- И только протом исполнять applicatiоn код.



Теперь вкратце о том, как это реализовано в UBOOTе.
--------------------------------------------------------
Точка входа находится в -> /cpu/ppc4xx/start.S
Дескрипторы TLB в -> /board/amcc/board_name/init.S
обработчики исключений -> /cpu/ppc4xx/traps.c
инициализация стандартной перефирии -> /cpu/ppc4xx/peripheral_name.c
инициализация нестандартной перефирии -> /board/amcc/board_name/board_name.c
последовательность инициализации платформы -> /lib_ppc/board.c
скрипт линковки -> /board/amcc/board_name/u-boot.lds

Из/lib_ppc/board.c производится вызов main_loop.

Прежде чем начинается исполнение c-кода, устанавливается стек на D-Cache (32K).



Код для PPC460EX (для платы canyon) лежит в /board/amcc/canyonlands/
Go to the top of the page
 
+Quote Post



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

 


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


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