Здравствуйте уважаемые!
Купил платку - включил(подключил к телику), работает, УРА!
Почитал форум. Как все сложно(для меня).
Есть не большой опыт работы с контролерами AVR и ARM LPC.
С Linux ниразу дела неимел. Видимо потом придется.
А пока стоит задача: без ОСи отобразить на телевизоре тексты, графика(точки, линии кружочки)-это думаю просто выдрать куски из ранних работ, ну и обязательно USART(прием передача).
На Фрискале посмотрел - там примеры с ОСями.
У Keil и IAR примеров под этот конкретный чип нет(есть MX21, 25, 27)а 23 нет.
Вопрос 1: какой взять компилятор(желательно под Виндовс). BSP(настройка железа) видимо придется подсмотреть в исходниках от ОСи. Если есть примерчики- буду признателен.
Вопрос 2: Платка досталась без диска(в эводебаг сказали что на украину с дисками не возим)откуда слить образ?
мое мыло diglook@i.ua.
С уважением и дадеждой на помощь.
вот так, с пустого места имея небольшой опыт под АВРы и ЛПСи написать standalone под iMX? на мой взгляд, в ближайший месяц - нереально..
урежьте осетра - запустите линукс и начните с простейшего - примитивной программы, которая будет выполнять то, что вы задумаете, под линуксом. а уж потом, отладив алгоритм и получив готовые подпрограммы, переходите к своему бинарнику.
Не стоит сильно пугать человека ...
Можно взять за основу "бутстрап" и по нему двигаться "снизу в верх", хотя, на мой взгляд, добится поставленных задач в linux будет гораздо проще и с большим комфортом.
По компилятору, особых вариантов нет, кроме GCC, и он уже стоит в ивртуальной машине.
Линк на закачку отправилл почтой.
боже упаси кого-нить пугать :)
я, исключительно в общих чертах, пробую подсказать оптимальную траекторию реализации замыслов ТС..
сначала попрактиковаться в готовой и настроенной среде на полностью настроенном АРМе, а уж потом писать низкоуровневую инициализацию - разборки с ДМА, с ЮСБ, с SD/MMC, с файловой системой, с PLL, с LCD
:)
Мой проект - обработка звука, сэмпл рэйт 48 килогерц, стерео, 24 бита, обработка сложная, в конечном итоге желательно отдать под обработку столько ресурсов, сколько можно (коммерческая эффективность проекта от того растет).
C Линукс я плотно не работал - собрал ядро, rootfs, но подробностей работы с драйверами и вообще не hello-world программ я не знаю, зато имею богатый опыт в работе в standalone.
Вопрос - стоит ли в моем случае связываться с линуксом? с одной стороны, в проекте будет USB mass storage, на эту тему меня мучают сомнения - раньше я пользовался готовыми библиотеками, просто прикручивал описание хранилища данных. А с другой, как мне кажется (в чем собственно и вопрос), вообще real-time в линукс проблема, и плюс мне нужно чтобы задержка была не больше семплов 10. Я имею привычку делать обработку отдельным от ОС куском кода с наивысшим приоритетом (вызывается прерыванием по, допустим, накоплению 5 семплов). Прокатит ли такое в линукс? Или если делать как положено - драйвер и процедуры - большой ли оверхэд я словлю на процедуре вызываемой 5к раз в секунду?
Кстати говоря, еще важно время загрузки с включения. Если в проекте будет обработка звука, USB и светодиодное табло через SPI, как быстро можно заставить линукс загрузиться?
Товарищи, ниужели никто не поможет простеньким советом? Мне затратно изучать программирование драйверов только для того, чтобы узнать, что 5киловызовов в секунду - много или нет, тем более что дел по текущему проекту не в проворот. Мне бы только оценить, стоит ли с линуксом бодаться или нет. Ниужели никто не пытался обрабатывать звук в линукс?
Если нет времени на освоение Linux и потребность в нем только для конкретного проекта - однозначно не стоит связываться, процесс может затянуться на неопределенный срок, говорю без сарказма - как есть, другое дело если вы в будущем решили использовать огромный потенциал этой ОС.
PS обработкой звука не занимался, так что в техническом плане ничего не могу подсказать.
У меня сейчас сделана оцифровка и вывод звука средствами встроенного ADC/PWM - два канала по 8кгц (на одном IRQ), at91sam9260 нормально справляется. И imx тем более должен успевать.
Большое спасибо за ответы
А можно ли крутануть мой любимый финт - просто сделать процедуру в прерывании, слинковать ее с линуксом, но вообще не использовать сервисы ядра? то есть линукс прерывается более приоритетным прерыванием, которое просто считает, что работает одно? мне даже стэк переключать не нужно - моя процедура стэк расходует по минимуму, то есть я могу в стэк любого процесса не глядя работать (по выходу моя процедура полностью освобождает стэк от своих данных). Главное чтобы линукс не запрещал прерывания надолго, иначе плакала моя процедура:)
Для меня это был бы оптимальный вариант - никаких накладных расходов в виде переключения контекста и прочее. Функции прямой работы с железом для своей процедуры легко напишу вручную, это не вопрос.
Есть ли противопоказания против такого метода?
...Линукс осваивать буду все равно, просто в данном случае стоит задача выбора оптимального решения - переключение контекста может свести на нет эффективность данного процессора и по факту я могу получить производительность не особо-то лучше, чем мои процедуры написанные на ассемблере для cortex-M3 80 мгц.
Я где-то на форуме видел, что SPI жестоко тормозит систему, если на каждое слово идет свое прерывание. У меня будет тот же самый принцип по сути. Буду делать в зависимости от накладных расходов от 5 до 20 киловызовов процедуры в секунду.
Если вы используете ОС - то надо играть по ее правилам. Если вас не устраивают правила - вам ОС не нужна ;)
У меня SPI не грузил систему - хотя там irq был не на каждое слово, а на "опустошение" fifo на приемной стороне. Лился поток 256 кбит/с и даже не один пробовал - тоже работало.