Petka
Свой-
Постов
1 438 -
Зарегистрирован
-
Посещение
Весь контент Petka
-
Если Вы будете использовать ОС, то ИМХО архитектура непринципиальна. Появятся доступные CortexA - просто пересоберёте на него и всё будет работать как прежде =)
-
Обязательно отпишитесь о результатах.
-
Синхронизация через Ethernet
Petka ответил RoadRunner тема в ARM
Э, вы ничего не попутали? 10нс это полтора метра витой пары. 1нс это 15 см. -
Вопрос по сжатию и распаковке BMP-файлов
Petka ответил Vladimir_T тема в ARM
Средствами BMP. У него есть режим RLE сжатия. -
Да, по другому: в скрипте линкера (тот файл, что вы указываете в опциях линкера после ключа "-T") добавляете секцию: /* Memory Definitions */ MEMORY { FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x00080000 RAM (rw) : ORIGIN = 0x40000000, LENGTH = 0x00010000 USBRAM (rw) : ORIGIN = 0x7FD00000, LENGTH = 0x00004000 ETHRAM (rw) : ORIGIN = 0x7FE00000, LENGTH = 0x00004000 RTCRAM (rw) : ORIGIN = 0xE0084000, LENGTH = 0x00000800 /* Добавим ниже область памяти с периферией. В моём случае в качестве периферии будет контроллер VIC */ VIC (rw) : ORIGIN = 0xFFFFF000, LENGTH = 0x00000FFF } .... .... .... /* Section Definitions */ SECTIONS { /* В описании секций добавим секцию где будут размещаться регистры периферии VIC */ vic (NOLOAD): { *(vic) } > VIC /* Указываем что секция размещается в области памяти, принадлежащей VIC */ .... .... .... Далее в коде программы описывем регистры: .... #include <stdint.h> .... /* Описываем регистры, и указываем что они размещены в секции "vic" */ volatile uint32_t __attribute__((section("vic"))) REG_VICIRQStatus; volatile uint32_t __attribute__((section("vic"))) REG_VICFIQStatus; volatile uint32_t __attribute__((section("vic"))) REG_VICRawIntr; volatile uint32_t __attribute__((section("vic"))) REG_VICIntSelect; volatile uint32_t __attribute__((section("vic"))) REG_VICIntEnable; volatile uint32_t __attribute__((section("vic"))) REG_VICIntEnClr; volatile uint32_t __attribute__((section("vic"))) REG_VICSoftInt; volatile uint32_t __attribute__((section("vic"))) REG_VICSoftIntClr; volatile uint32_t __attribute__((section("vic"))) REG_VICProtection; volatile uint32_t __attribute__((section("vic"))) REG_VICSWPrioMask; ... Пересобираем программу и наслаждаемся отладкой периферии =) Проверил код и отладку. Работает.
-
ИМХО тогда надо в скрипте линкера прописать эти адреса. Тогда гарантированно будет работать.
-
В таком контексте в прерывании сидеть нельзя. Т.к. ответ по I2C абсолютно независимое от времени внешнее событие. Его железка теоретически может и не дождаться. Не, это моветон.
-
Хм. int main() с вечным while(1) тоже фактически обработчик немаскируемого прерывания Reset. Так что "идеологически" ваш вариант тоже правильный. Но тут встаёт вопрос: а зачем Вам так делать, если за вас и так уже всё так и сделано?
-
linphone. ARM.
Petka ответил jacuba тема в GNU/OpenSource средства разработки
Похоже на то, что ваша целевая ОС (та, которая на ARM) не поддерживает RTC таймеры (скорее всего собрана без их поддержки). -
linphone. ARM.
Petka ответил jacuba тема в GNU/OpenSource средства разработки
Ключ -Werror "превращает" варнинги в ошибки. Тут уже надо копать снова либо в конфигурацию библиотеки (судя по ошибке надо то ли включить, то ли отключить поддержку 64 бит. Хотя я не уверен.) Либо это бага в библиотеке. Можете попробовать в makefile убрать ключи "-Werror". -
linphone. ARM.
Petka ответил jacuba тема в GNU/OpenSource средства разработки
Быть такого не может. вы что, прямо в корень /armbuild положили? Даже если он там лежит компилятор не может не найти хедеров. -
linphone. ARM.
Petka ответил jacuba тема в GNU/OpenSource средства разработки
Посмотрите с какими ключами зачускается компилятор перед выдачей таких ошибок. В ключе "-I" должны содержаться пути к необходимым хедерам. Проверьте наличие этих хедеров. Сконфигурируйте библиотеку так, что бы при компиляции эти пути указывали на необходимые каталоги. -
linphone. ARM.
Petka ответил jacuba тема в GNU/OpenSource средства разработки
1) ИМХО --prefix НЕ надо при кросс-компиляции прописывать в /usr пропишите куда-нить в личный /home аналогично ARM_INSTALL_TREE 2) при компиляции (make) не выдавались-ли сообщения о ненайденых incude ? -
linphone. ARM.
Petka ответил jacuba тема в GNU/OpenSource средства разработки
Похоже неправильно сконфигурировали speex для кросс-компиляции. При сборке вместо uclibc тянутся хэдеры локальной (хостовой) машины, а на ней наверняка glibc. -
Топология не менялась. Она ошибок не содержала. тут: Схемы, печатки и пр. под надписью "Актуальные на 8 июля 2009 года документы:" содержатся ссылки на работающие схемы, прошивки, инструкции, исходники.
-
linphone. ARM.
Petka ответил jacuba тема в GNU/OpenSource средства разработки
Очевидно в библиотеке speex отсутствуют такие функции. Либо не та версия библиотеки, либо вы её неправильно собрали. P.S. тему лучше перенести в OpenSource раздел -
И ещё. Понипрог надо использовать ТОЛЬКО для первичного программирования мк в программаторе. Далее надо использовать другие программы программаторы. т.к. Понипрог не поддерживает протокол stk500v2.
-
Замените сначала катушку просто перемычкой и повторите эксперименты.
-
Скорее всего либо мега до вас уже была как-то запрограммирована, либо у вас проблемы с питанием. померьте напряжение питания в момент "миганий".
-
Разумеется можно. Для этого "адаптер" должен иметь панельку под "ваш" контроллер. К панельке на выводы питания подключите конденсаторы 0,1 мкФ. И подайте само питание. Можно, например, от USB.
-
Посмотрите на пост №500 выше. От Feb 27 2011, 22:17.
-
На самом деле "действительно случайное" число не нужно. Нужно всего-лишь навсего при каждом запуске в srand подсовывать ДРУГОЕ число. Получить его достаточно просто. При каждом запуске инкрементируйте какую-нибудь ячейку EEPROM и данным значением инициализируйте srand.