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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Процессор MicroBlaze, помощь начинающему
Maverick
сообщение Dec 18 2009, 14:10
Сообщение #1


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



rolleyes.gif Требуется любая информация(примеры написания листингов программ, обучающая литература и т.д.) по написанию программ на С/С++ для данного процессора.

ЗЫ Необходим быстрый начальный старт. 1111493779.gif

help.gif help.gif help.gif


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Dec 21 2009, 19:25
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Начните с MicroBlaze Processor Reference Guide.
А так вообще на сайте xilinx в поиске Microblaze и погнали информации море.
Xilinx, кстати, очень хорошо поддерживает свой софт процессор,
куда лучше чем PPC405.
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
Maverick
сообщение Dec 22 2009, 10:05
Сообщение #3


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Mad_max @ Dec 21 2009, 22:25) *
Начните с MicroBlaze Processor Reference Guide.
А так вообще на сайте xilinx в поиске Microblaze и погнали информации море.
Xilinx, кстати, очень хорошо поддерживает свой софт процессор,
куда лучше чем PPC405.


Да читал эту информацию, но там описана архитектура и все IP core, но как написать программу и привязать к какому-то конкретному выходу например подать/принять их на/по UART/SPI. Язык С/С++ я знаю для написания программ под Windows( Борланд С, Вижуал С++ ), но есть же разница писать под Windows и для микропроцессора, правда? (т.е. не нужно слов типа учи Си/С++ и будет тебе счастье и ссылки на стандарты Си/С++)
Организовывать архитектуру микропроцессора и подсоеденить к нему IP core (переферию) прочитав мануалы(и тот который Вы предлагаете) я разобрался и делаю. Но что далее ...
Уверен многие начинали с каких-то простых программ, например как принять байт и передать его обратно прибавив единицу, к полученному байту(слову) по UART, или что-то подобное. Где-то Вы читали как это делать или кто-то Вам рассказал и показал...

ПОДЕЛИТЕСЬ ИНФОРМАЦИЕЙ ПОЖАЛУЙСТА!!!
МНОГИЕ НА ФОРУМЕ РАБОТАЮТ С ПРОЦЕССОРОМ MicroBlaze ДАВНО - ПОДЕЛИТЕСЬ СВОИМИ ЗНАНИЯМИ, ПОЖАЛУЙСТА!!!
help.gif


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Egel
сообщение Dec 22 2009, 13:04
Сообщение #4


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

Группа: Свой
Сообщений: 162
Регистрация: 28-07-08
Из: Химки
Пользователь №: 39 244



Присоединяюсь к просьбе Maverick
Go to the top of the page
 
+Quote Post
flipflop
сообщение Dec 22 2009, 15:19
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 27-12-08
Из: Петербург
Пользователь №: 42 787



Надо плясать от Xilinx SDK. Он автоматически создает примеры для всей периферии. Ко всем драйверам есть HTLM документация, лежит в папках с Design Suit'ом. В остальном это обычное программирование на C =)

Цитата
Xilinx, кстати, очень хорошо поддерживает свой софт процессор,
куда лучше чем PPC405.

Не правда, все ip-блоки работают через одну шину (насколько я помню, IBM CoreConnect) и одинаково подходят как к PPC, так и к Microblaz'у. Так-что уровень поддержки одинаковый.

Сообщение отредактировал flipflop - Dec 22 2009, 15:19
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Dec 22 2009, 20:42
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата
Надо плясать от Xilinx SDK. Он автоматически создает примеры для всей периферии.

SDK это среда разработи и своответственно ОНА ничего не создает, создает утилита libgen.
Ну и если на то пошло, то создает она не примеры, а дравера для аппаратной части.
Цитата(flipflop @ Dec 22 2009, 18:19) *
Не правда, все ip-блоки работают через одну шину (насколько я помню, IBM CoreConnect) и одинаково подходят как к PPC, так и к Microblaz'у. Так-что уровень поддержки одинаковый.

Поддержка имелось ввиду, не в аппартаном плане, а в плане наличия на сайте референс дезайнов и всяческих примеров использования.


Цитата(Maverick @ Dec 22 2009, 13:05) *
Да читал эту информацию, но там описана архитектура ...

Ну раз уж вы все прочитали и все знаете, то тогда и вопрос задавайте конкретный, а то создается впечатление из первого поста,
что Вы только взялись за эту задачу и не знаете с какого боку подойти.

В предложенном документе должно быть написано как классический hello world запустить под дебагером. Hello world в данном случае и
есть отправка по UART данных. Используется там функция xil_print, если она Вам не мила, то можете написать свою низкоуровневую
функцию вывода. Собственно говоря, точно так же как и любую низкоуровнивую функцию для любой IP корки. Собственно говоря, xilinx уже практически все за Вас написал. Утилита libgen создает драйвера для каждой Вашей корки, нужно только взять то, что Вам нужно или
на базе имеющегося написать свои функции общения с аппаратной частью.
В принцепе это Вам и хотел сказать flipflop biggrin.gif
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
tolik1
сообщение Dec 23 2009, 08:24
Сообщение #7


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

Группа: Свой
Сообщений: 199
Регистрация: 2-03-05
Из: МОСКВА
Пользователь №: 3 016



Цитата(Maverick @ Dec 22 2009, 13:05) *
Да читал эту информацию, но там описана архитектура ...

Начните (для простоты ) с программирования в XPS. Пользовательский ввод и вывод осуществляется через UART на котором организован консольный интерфейс. xil_printf("HELLO WORD\r\n"). Подключаете Ваше устройство к РС, запускаете HYPERterminal, настраиваите параметры COM-порта и видите эту надпись на экране. Для организации обмена с IPблоками(своими или чужими) используется драйвер т.е. програмный интерфейс. Этот драйвер автоматически создается когда Вы создаете своё IP, и реализует выбраный Вами механизм обмена. По сути своей драйвер - это либо портовая операция либо операция с памятью.Для доступа к драйверу надо в окне Assambly на нужной корке кликнуть правой кнопкой. В меню выбрать подменю Driver:хххххххх, а в следующем меню - Browse driver souces.... Вам откроются С-файлы. Переключитесь на h-файлы. И Вам откроется Header драйвера. Этот файл подинклюдивается и используется. Для получения адреса Вашего IP Вам нужен файл xparameters.h Ищите его в окне Application, в строке processor. Файл генерится когда Вы нажимаете "Generate libraries and drivers".
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
Leka
сообщение Dec 23 2009, 09:53
Сообщение #8


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

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



У меня не MicroBlaze, не NIOS, не С/С++ -->
bb-offtopic.gif
1) прошиваем систему: софт-процессор с загрузкой через COM и с выводом на VGA,
2) пишем proba.pas:
Код
module main
begin
  writeln('Hello, world')
  halt()
end

3) компилируем: a.exe proba.pas
4) запускаем copy proba.hex com --> видим на мониторе: Hello, world
laughing.gif

Сообщение отредактировал Leka - Dec 23 2009, 09:56
Go to the top of the page
 
+Quote Post
avesat
сообщение Dec 24 2009, 11:11
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 14-08-05
Из: Украина
Пользователь №: 7 621



Цитата(Maverick @ Dec 18 2009, 16:10) *
... Требуется любая информация(примеры написания листингов программ, обучающая литература и т.д.) по написанию программ на С/С++ для данного процессора.
...

Много примеров можно посмотреть здесь

%%\EDK\sw\XilinxProcessorIPLib\drivers\


--------------------
"Мы будем играть, пока не треснут наши гитары, и все те, кто любит рок - я отдаю вам честь!" AC/DC
Go to the top of the page
 
+Quote Post
Leka
сообщение Dec 25 2009, 21:22
Сообщение #10


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

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(Maverick @ Dec 22 2009, 14:05) *

Ну и каковы успехи?
Go to the top of the page
 
+Quote Post
Maverick
сообщение Dec 28 2009, 10:41
Сообщение #11


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Leka @ Dec 26 2009, 01:22) *
Ну и каковы успехи?

Программа
Код
int main()
{
    print("Helo World\n");
    return 0;

Получилась... Скриншот с гипертерминала прикладываю

Плиз, помогите разобратья как принимать какие-то данные по UART. Например я в гипертермиле ввожу число, а программа к этому прибавляет(например 1 или какую-нибудь константу) и результат выдает на экран.

Плата Xilinx ML402

ОЧЕНЬ НУЖНО!!!
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Maverick
сообщение Dec 29 2009, 08:41
Сообщение #12


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



что неужели никто такой простенькой программы не писал???
ЗЫ не верю


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
avesat
сообщение Dec 29 2009, 09:51
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 14-08-05
Из: Украина
Пользователь №: 7 621



%%EDK\sw\XilinxProcessorIPLib\drivers\uartlite_v1_14_a\examples\

Есть любые примеры, в том числе и как работать с прерываниями


--------------------
"Мы будем играть, пока не треснут наши гитары, и все те, кто любит рок - я отдаю вам честь!" AC/DC
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Dec 29 2009, 09:55
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Не ну Вы прямо как студент! Напишите мне и все.
Тыркните на вашу корку в EDK вылезит менюшка, там на одной из вкладок будет pdf значок.
В этой pdf все четко расписано как работает UART.
Не хотите лазить в EDK вот Вам ссылка
http://www.xilinx.com/ise/embedded/edk_ip.htm
по ней найдете документ на корку.
Далее изучаете все управляющие и статусные регистры свой корки.
В полинге мониторите бит, говорящий о том, что данные по UART приняты.
Далее читайте прибавляете и отправляйте обратно.
Предвидя следующий пост вот вам пример как писать и читать с адресов.
Код
int main() {
    
  int i=0;
  int *addr_ptr;
  int status;
  
  addr_ptr = (int*)BASE_ADR; //Адрес по которому хотим записать
  *addr_ptr = 0xAAAAAAAA;   //Данны, которые хотим записать
                
  addr_ptr = (int*)BASE_ADR; //Адрес по которому хотим прочитать
  status = *addr_ptr;            //Прочитанные данные

}
Go to the top of the page
 
+Quote Post
Maverick
сообщение Dec 29 2009, 10:01
Сообщение #15


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Mad_max @ Dec 29 2009, 12:55) *


ПРОСТИТЕ!
Просто я никогда не программировал процессоры, и не знаю с какой стороны подойти


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:52
Рейтинг@Mail.ru


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