Перейти к содержанию
    

_shef_

Участник
  • Постов

    29
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о _shef_

  • Звание
    Участник
    Участник

Контакты

  • Сайт
    Array
  1. ИМХО: ThreadX - такой должна быть RTOS. Если есть бесплатные решения с таким же, иниуитивно понятным, компактным, но достаточным для работы, интерфейсом (набор вызовов ОС) и документацией - хотелось бы увидеть список. Конечно, можно взять и любое другое решение, и даже попытаться самому написать, но где будет применяться данная ОС ? Лично мне обычно хватает багов и в приложении, нехватало еще в ОС проблем. Если срабатывание WatchDog, примерно, так раз в сутки, считать нормальным делом, то ОС вообще можно не выбирать - берем что по-ближе лежит. А насчет отладки через терминал - я все таки считаю, что речь идет об отладке приложения, а не ОС - то JTAG, а в большей степени Unit/Integration тестирование закрывают этот вопрос. Ибо наблюдать на экране за тем как приложение ведет себя в Nominal case еще не гарантирует его безотказную работу. Например, писаный нашей командой bootloader "застрял" на объекте когда не смог соединиться с сервером в течении суток (сервер тупо был выключен), и такой баг выловить глядя в терминал - "...что то мешает мне поверить в этот аристократизм...". ЗЫ: Конечно каждый для себя сам решает. Для меня, (хорошая ОС == надежная ОС).
  2. AlexandrY, спасибо. Я прочел в Вашем сообщении понятные для меня слова. Будем "курить" мануалки. Остальным шутникам - привет.
  3. Вы наверное не так меня поняли. Меня интересует самый низкий уровень программирования. Я хочу пощупать MAC/PHY Ethernet, попробовать написать стек TCP/IP, изучить механизмы взаимодействия с SDMMC, сделать USB устройство с минимальной функциональностью и пр. Вы наверное спросите зачем? Да затем, что если завтра мне будет необходимо сделать некий черный ящик, например на ARM7, который будет писать в SDMMC измеренные при помощи АЦП сигналы, то Линукс мне тут не сильно поможет. Просто хочется изучить периферию. А по поводу документации на кристалл - я обязательно изучу ее - деваться некуда . Но я ведь спрашивал очередность загрузки и что где лежит.
  4. Доброго времени суток. Имею в руках плату от FriendlyARM. Изначально стоит пингвин и QTopia. Вопрос в следующем: Я привык прошивать микроконтроллеры с 0x00000000 встроенной флеши. И слабо понимаю где там стоит какой загрузчик ОС. Если загрузчик находится во встроенной флеше, то я что его не имею права трогать? Я хочу просто написать "void main (void)" и мигать светодиодом и прочей периферией без ОС и написания на то драйверов. И те 64 Мб ОЗУ хочу использовать по своему усмотрению. Хочется быть хотя бы маленьким, но все таки Богом в конце концов B) Такое железо в руках, а..... Что делать?
  5. Кажись я уже кидал кому-то: SIM300DZ
  6. Так то оно так. Только в случае __irq компилятор вставляет сохранение контекста в стеке, а быстрое прерывание имеет свои плюсы - R8-R12 заменяются аппаратно и их вполне может хватить для обработки прерывание. Т.е. операции сохранения и восстановления контекста компилятор может и не воткнуть как в первом случае. Я думаю разница только в этом. По поводу __task: К сожалению я строю свою ОС. И в процессе этого строительства изучаю АРМ. Я много уже выслушал на свой счет, но МНЕ ТАК УДОБНО. Когда я дошел до того момента, когда мои функции становятся потоками - я нуждаюсь в таком атрибуте как __task. На данный момент я использую такой метод: pTmpContext->RegistrLR = ((unsigned int) Routine) + 4; И этими четырьмя байтами обхожу ту самую преамбулу. Но я не могу гарантировать, что эта преамбула будет состоять всегда только из одной команды. Поэтому __task - было бы не плохо иметь в арсенале.
  7. Доброго времени суток. Я недавно начал изучать АРМ. Прочитал Мартина. Скачал Evaluation Keil uVision 4.00u. И вот результат. Некоторые вещи я не могу использовать, а точнее не знаю как. Например: void MyFunction (void) __irq; - работает void MyFunction (void) __fiq; - компилятор не удовлетворяется такой записью void MyFunction (void) __task; - тоже проблема, гуглил код ошибки - попал на сайт Keil'а. Там написано, что теперь модно писать так: __task void MyFunction (void); ну или что то вроде этого. Так вот такойо вариант тоже не проходит. Плюс мелкие брызги типа: EXTERN CODE32 (myFunction?A) пришлось урезать до IMPORT myFunction Есть где-то справка по этому компилятору? Может я плохо искал?
  8. Да, только когда контроллер на 1,8 В то уже абсолютно не важен тот транзистор - ибо модуль таких уровней может и не увидеть. Сори, не дочитал :laughing:
  9. Да. Оживленный спор получается. Я разгреб свою проблему. Могу поделится впечатлениями. Мои 50 девайсов основаны на SIM300D - это для тех кто интересуется. А дело, как мне теперь видится, оказалось в следующем. В датахите может так написано, может я так понял, вобщем узрел я, что на POWERKEY надо подавать в высоком уровне >0,7*VBAT а в низком < 0,3*VBAT. Так как у меня VBAT = 4,0 В - то 4*0,7 = 2,8 В. Спрашивается, кто может мне запретить использовать уровни логического нуля и логической единицы при питании контроллера от 3.0 В, когда он в единице обычно выдает Uпит (скептики могут не согласиться). Вот таким макаром и собраны эти 50 благополучно работающих девайсов. И именно так, без транзистора на POWERKEY'е. Но, как оказалось, работают они как обычно только потому, что где-то глюк, который всем наруку. А именно - поскольку стабилизатор 3.0 В был куплен какой - попало, то выдает он 3,24 В. Это в допуске по пинам SIM300 (3,0+0,3) и этого более чем хватало для высокого (неактивного) уровня на POWERKEY. В новых модификациях я пересмотрел стабилизатор и после расчета резисторов в стабилизаторе (ибо он аджастбл) поставил какие были под рукой. Результат - питание контроллера = 3.17 В. А это напряжение уже не продавливает POWERKEY до высокого уровня. После просмотра семинара фирмы "ГАММА" (УКРАИНА) и консультации с ними непосредственно я узнал, что в POWERKEY'е есть внутренняя подтяжка - и что высокий уровень напряжения ему собственно как рыбке зонтик. Он сам выдает 3.6 в если этот вывод в воздухе. Поскольку платы уже готовы, а они дорогие и их много, то никто туда биполяр пастить не будет. Поэтому было принято решение - если нежен низкий уровень для POWERKEY то выдаем контроллером лог 0. А если уж нужен высокий, то переводим пин в Z - состояние, а дальше SIM300 справится сам. Вот такое получилось решение (2 дня уже работает - дальше посмотрим :rolleyes: )
  10. Про закорачивание я в курсе - но работает. Я просто говорил о макете. VRTC к сожалению оставил в воздухе ибо 50 рабочих девайсов одобрили такой вариант. Сам думал что в этом причина - установка большой (3300.0) емкости не помогла. Схему - это пожалуйста. Дабы не смущать общественность, части не касающиеся модулей - удалены. P_CAD_EDA____Sheet1_.pdf Только давайте договоримся - проблема состоит в том, что модули не включаются совсем, а рассматривать вопросы связанные с тем что "можно было и без реле обойтись" или "ESD защита не там стоит" мы не будем ибо это делу не поможет. Всем заранее благодарен.
  11. Не могу не поделится. Мы купили китайскую антенну - нешлепку на стекло. Разобрали. В точности повторили рисунок печатки. Работает прекрасно. Но.. Использование планировалось если не скрытое, то близко к этому. Поэтому наша антенна была близко закреплена к корпусу нашего девайса (который кстати говоря был из металла). Вот тут проблемы и начались. Оказывается - нашлепка на стекло - это нашлепка на стекло и никуда более. Как только эту нашлепку поместить в близи большой массы металла - это больше не антенна. Провели небольшие исследования, ибо мы не специалисты в области ВЧ. Отрыли пару документов. Оказалось, что диаграмма направленности тоже важный параметр :-) Результаты следующие - хотите хорошего приема - проволока примерно в четверть волны перпендикулярно плоскости платы - это настольное применение. Для автомобиля - штырь на крышу. Лучше четвертьволновика с противовесом в виде крыши автомобиля мы ничего не нашли. А под бамбер у нас не получилось :-).
  12. Доброго времени суток. У меня проблема - модуль SIM-300D не включается в принципе. Все делаю корректно. Питание 4В от DC/DC (TPS5430, дорого но уже поставил). стартую от контроллера с питанием 3.0-3.1 В. Есть проверенный алгоритм управления питанием как в даташите с POWERKEY и прочими делами. Алгоритмы все отлажены - работает 50 устройств. Отличие от работающих - DC/DC вместо аналогового IRU1030. Питание смотрел - просадок нет, более того есть макетик - правда минимальный - там модуль с закороченым на землю PWRKEY прекрасно работает от TPS5430. Проверил 4 модуля - тупо не подают признаков жизни - не светодиодом не UARTом.
  13. У меня такое было с SIM300 - там идиотский разъем и моими руками так и не удалось его нормально пропаять. Не было контакта. И модуль снимал питание как Вы и говорите. Только 1 экземпляр из 5 заработал. Использовал SIM300C и SIM300D - ни разу таких проблем не было, ибо нормальный контакт.
  14. У меня питание было 5 В. Стабилизатор до 4 понижал. Биполяр стремно ставить да еще и модуль гребет 2А в импульсе, что пришлось рассиропить емкостью. Вобщем только так спасся :)
×
×
  • Создать...