dspx 0 30 декабря, 2009 Опубликовано 30 декабря, 2009 · Жалоба ПРОСТИТЕ! Просто я никогда не программировал процессоры, и не знаю с какой стороны подойти Советую посмотреть обучалки на YouTube Xilinx EDK Tutorial - A Guided Tour of the Platform Studio - Part 1 Xilinx EDK Tutorial - A Guided Tour of the Platform Studio - Part 2 Xilinx EDK Tutorial - A Guided Tour of the Platform Studio - Part 3 Xilinx EDK Tutorial - Adding custom IP to an EDK Project - Part 1 Xilinx EDK Tutorial - Adding custom IP to an EDK Project - Part 2 Xilinx EDK Tutorial - Adding custom IP to an EDK Project - Part 34 Xilinx EDK Tutorial - Adding MPMC to an EDK Project - Part 14 Xilinx EDK Tutorial - Adding MPMC to an EDK Project - Part 2 Xilinx EDK Tutorial - Adding MPMC to an EDK Project - Part 3 Xilinx EDK Tutorial - Integrating EDK and ISE Projects Xilinx EDK Tutorial - Using the Base System Builder Wizard - Part 1 Xilinx EDK Tutorial - Using the Base System Builder Wizard - Part 2 Как только запустите приложение testapp_peripheral, сразу поймете как через драйвера обращаться с вашими устройствами периферии, в том числе со светодиодами и кнопками, Тем более на Uart вам уже удалось вывести базовое приложение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 4 января, 2010 Опубликовано 4 января, 2010 (изменено) · Жалоба dspx Спасибо за обучающие видеоролики. Будем смотреть и разбираться дальше... ЗЫ Тема остается открытой Изменено 5 января, 2010 пользователем Omen_13 Избыточное цитирование. Нарушение Правил п.3.4 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 2 февраля, 2010 Опубликовано 2 февраля, 2010 · Жалоба Помогите написать программу на С для MicroBlaze для реализации следующей задачи: выводить любое сообщение на HyperTerminal через определенное время например через 5 сек и прерываться от нажатия кнопки. Повторное нажатие - продолжение работы - вывод на экран сообщения. Если этот пример сложный, то подойдет любой другой пример. Очень нужно разобраться (с таймером и работой с прерываниями) - ПОМОГИТЕ, ПЛИЗ!!! ЗЫ Среда разработки EDK 10.1.03. Плата ML 402 Шина процессора PLB (не ОРВ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex77 4 3 февраля, 2010 Опубликовано 3 февраля, 2010 · Жалоба Все примеры как работать с прерываниями, таймерами и всем остальным есть в EDK. Или Вы хотите чтобы _сюда_ были скопированы все эти примеры которые есть у Вас ? * @file xintc_example.c * * This file contains a design example using the Interrupt Controller driver * (XIntc) and hardware device. Please reference other device driver examples to * see more examples of how the intc and interrupts can be used by a software * application. * * This example shows the use of the Interrupt Controller both with a PowerPC405 * and MicroBlaze processor. * :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 3 февраля, 2010 Опубликовано 3 февраля, 2010 · Жалоба да нет не надо, просто думал что у многих такие простые примеры есть и люди могли бы (если конечно захотят) поделиться. Все кто начинает работать с каким либо микропроцессором когда то делали мигание светодиодом, отработку кнопок и т.д. Потому что это наглядней! Но это только мое мнение!!! ЗЫ Примеры видел ссылку на них мне дали ранее в этой же ветке форума ЗЫ ЗЫ Будем дальше разбираться. СПАСИБО! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex77 4 3 февраля, 2010 Опубликовано 3 февраля, 2010 · Жалоба Просто такие "программы" пишутся за 10 мин. используются 5 мин. а потом вчистую удаляют... Так что ... :rolleyes: Паузу к примеру можно делать по простому так: считать текущее значение таймера и потом считывать в цикле со сравнением с вычисленным значением (тек знач + дельта) . Вариантов много... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dspx 0 3 февраля, 2010 Опубликовано 3 февраля, 2010 (изменено) · Жалоба да нет не надо, просто думал что у многих такие простые примеры есть и люди могли бы (если конечно захотят) поделиться. Все кто начинает работать с каким либо микропроцессором когда то делали мигание светодиодом, отработку кнопок и т.д. Потому что это наглядней! Но это только мое мнение!!! ЗЫ Примеры видел ссылку на них мне дали ранее в этой же ветке форума ЗЫ ЗЫ Будем дальше разбираться. СПАСИБО! :) Если будет время накатаю. Но самый простой способ для вас - это использовать Base System Builder Wizard прямо под ваш кит. Там нужно только галочки поставить, какие компоненты должны быть вставлены. Визард сам сгенерит вам готовую систему с драйверами и, даже, тестовыми приложениями. Не разобравшись с функциями для работы с UART, таймером и контроллером прерываний, вы все равно не поймете как работает даже готовый пример. Так что, начните с изучения С функций и как они используются в примерах к вашей системе. Комментарий к каждой из них более чем подробный. Без этого все равно никак. Изменено 3 февраля, 2010 пользователем dspx Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewn 0 3 февраля, 2010 Опубликовано 3 февраля, 2010 · Жалоба Все кто начинает работать с каким либо микропроцессором когда то делали мигание светодиодом, отработку кнопок и т.д. И я с этим сталкивался, когда работал с ML410 (и ещё придётся продолжить), но без MBZ, только с PPC405. Очень полезно установить XPS - Xilinx Platform Studio, вероятно у вас он уже установлен. Там целая куча разнообразных примеров для всевозможных периферийных устройств. И ещё нужно просмотреть App Notes на сайте Xilinx, там тоже куча примеров. Вот только по VGA out я ничего не нашел, а поскольку vhdl я не использую, только готовые блоки, остался я без экрана... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 4 февраля, 2010 Опубликовано 4 февраля, 2010 (изменено) · Жалоба ... Вы не могли бы дать ссылки на примеры, если их нет ранее в этой ветке форума. Заранее благодарен! Изменено 7 февраля, 2010 пользователем Omen_13 Избыточное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewn 0 5 февраля, 2010 Опубликовано 5 февраля, 2010 · Жалоба Вы не могли бы дать ссылки на примеры, если их нет ранее в этой ветке форума. Я искал здесь: http://www.xilinx.com/support/documentation/index.htm select "Doc Type" and "Application Notes" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба вопрос: какие библиотеку нужно подключить кроме (#include math.h) чтобы процессор выполнял действия с дробными числами и как вывести их через xil_printf. Пытался так float count; count = 5/3; xil_printf(" mat= %f \n\r",count); не получается. PS блок FPU я не подключал Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dspx 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 (изменено) · Жалоба ... Ну так нужно подключить. И ознакомьтесь с IEEE 754 Single Precision Format в документации к Microblaze. Изменено 14 февраля, 2010 пользователем Omen_13 Избыточное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dspx 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба http://www.xilinx.com/support/answers/29787.htm полезная ссылка показывающая, с какими ошибками можно столкнуться, работая с дробными, и как их решить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex77 4 15 февраля, 2010 Опубликовано 15 февраля, 2010 · Жалоба вопрос: какие библиотеку нужно подключить кроме (#include math.h) чтобы процессор выполнял действия с дробными числами и как вывести их через xil_printf. Пытался так float count; count = 5/3; xil_printf(" mat= %f \n\r",count); не получается. PS блок FPU я не подключал Согласно документации (в файле oslib_rm.pdf ) "void xil_printf (const *char ctrl1,...) xil_printf is a light-weight implementation of printf. It is much smaller in size (only 1 kB). It does not have support for floating point numbers. xil_printf also does not support printing of long (such as 64-bit) numbers." Вывод: 1) чтение документации полезно всегда 2) printf() должен помочь :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dsip 0 16 февраля, 2010 Опубликовано 16 февраля, 2010 (изменено) · Жалоба Циферки выводятся так: Xuint32 data; ... data = ...; ... print(" Data 0x"); putnum( data ); print("\r\n"); Прерывания пользуются так (пример для кнопок с ML402); void InterruptHandler() { // PB interrapt processing if( XIntc_mGetIntrStatus( XPAR_INTC_0_BASEADDR ) & XPAR_PUSH_BUTTONS_POSITION_IP2INTC_IRPT_MASK ) { // Detect button switch( XGpio_mGetDataReg(XPAR_PUSH_BUTTONS_POSITION_BASEADDR, 1) ) { case GPIO_PB_N_MASK : // move block_cur_y_pos -= 10; break; case GPIO_PB_S_MASK : // move block_cur_y_pos += 10; break; case GPIO_PB_E_MASK : // move block_cur_x_pos += 10; break; case GPIO_PB_W_MASK : // move block_cur_x_pos -= 10; break; } // Clear GPIO interrupt status XGpio_mWriteReg( XPAR_PUSH_BUTTONS_POSITION_BASEADDR, XGPIO_ISR_OFFSET, XGPIO_IR_CH1_MASK ); // Clear IntC interrupt status XIntc_mAckIntr( XPAR_INTC_0_BASEADDR, XPAR_PUSH_BUTTONS_POSITION_IP2INTC_IRPT_MASK ); } } Драйвера у Xilinx двух уровней, я пользую нижний <ip core driver>_l.h, здесь всегда приходится подставлять базовый адрес ядра. Все функции называются X<ip core>_m<function>. Путь к драйверам (пример) C:\Xilinx\10.1\EDK\sw\XilinxProcessorIPLib\drivers\gpio_v2_12_a\src. Все функции хорошо прокомментированы. Все параметры - базовые адреса, номера прерываний, всяческие маски находятся в файле xparameters.h. Набор заголовочных файлов примерно такой: // Всякая батва от проца #include "xparameters.h" #include "xbasic_types.h" #include "mb_interface.h" // Низкоуровневые драйверы #include "xintc_l.h" #include "xgpio_l.h" // Классика #include "stdio.h" Изменено 21 февраля, 2010 пользователем Omen_13 Оформление кода Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться