Программирование i386 как микроконтроллера
От: Аноним  
Дата: 02.11.07 17:27
Оценка:
Имеется железка (не материнка!) с 386 процем, кое-какими портами, ПЗУ и ОЗУ. Как воспользоваться VS 7.1 для написания программ под нее? Проблема в том, что программа должна быть в ПЗУ, а переменные в ОЗУ, не говоря уже о том, что линкер должен их разместить по вполне определенных адресам. Кроме того необходим стартап — его обязательно писать на ассемблере? Если да то можно ли MASM'овский obj воткнуть в основной проект — у них формат одинаков? И как оттуда этого вызвать main?


06.11.07 15:28: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
Re: Программирование i386 как микроконтроллера
От: Uzumaki Naruto Ниоткуда  
Дата: 03.11.07 02:36
Оценка:
RFM

Re[2]: Программирование i386 как микроконтроллера
От: Аноним  
Дата: 03.11.07 04:54
Оценка:
Здравствуйте, Uzumaki Naruto, Вы писали:

UN>RFM


Если ты имеещь в виду Manual на контроллер, то он отсутствует. Если же на VS, то я как раз и спрашиваю о том месте, где об этом написано.
Re[3]: Программирование i386 как микроконтроллера
От: wallaby  
Дата: 03.11.07 05:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Если ты имеещь в виду Manual на контроллер, то он отсутствует.


У тебя скорее всего 386EX — это действительно микроконтроллер, существенно отличающийся от писишного 386-го. Документации по нему достаточно, начни с официального сайта intel (правда, интел считает его устаревшим, но врядли удалили мануалы)

А>Если же на VS, то я как раз и спрашиваю о том месте, где об этом написано.


Нигде.
---
The optimist proclaims that we live in the best of all possible worlds; and the pessimist fears this is true
Re[4]: Программирование i386 как микроконтроллера
От: Аноним  
Дата: 06.11.07 07:19
Оценка:
Здравствуйте, wallaby, Вы писали:

W>У тебя скорее всего 386EX — это действительно микроконтроллер, существенно отличающийся от писишного 386-го. Документации по нему достаточно, начни с официального сайта intel (правда, интел считает его устаревшим, но врядли удалили мануалы)


Я там нашел только предложение запускать свою программу под "ROMable DOS". Но ставить ОС на микроконтроллер — это по меньшей мере странно, а ДОС — в особенности. А как оттранслировать свою программу для ROM нигде — нет.
Re: Программирование i386 как микроконтроллера
От: aloba  
Дата: 06.11.07 08:40
Оценка:
Поможет Windows CE. Найти BSP, собрать образ, загрузить в ПЗУ.
WinCE Platform Builder позволяет написать и отладить загрузчик начального уровня,
то есть это и будет программа без операционной системы.
Re[2]: Программирование i386 как микроконтроллера
От: Аноним  
Дата: 06.11.07 08:58
Оценка:
Здравствуйте, aloba, Вы писали:

A>Поможет Windows CE. Найти BSP, собрать образ, загрузить в ПЗУ.


Что такое BSP?

A>WinCE Platform Builder позволяет написать и отладить загрузчик начального уровня,

A>то есть это и будет программа без операционной системы.

WinCE Platform Builder — это что-то отдельное или входит в состав Visual Studio?
Re[2]: Программирование i386 как микроконтроллера
От: Left2 Украина  
Дата: 06.11.07 09:33
Оценка:
A>Поможет Windows CE. Найти BSP, собрать образ, загрузить в ПЗУ.
A>WinCE Platform Builder позволяет написать и отладить загрузчик начального уровня,
A>то есть это и будет программа без операционной системы.
Э.... Platform Builder вроде как денюшку стОит — и ЕМНИП немаленькую
... << RSDN@Home 1.2.0 alpha rev. 717>>
Re[5]: Программирование i386 как микроконтроллера
От: _SAV  
Дата: 06.11.07 12:54
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Я там нашел только предложение запускать свою программу под "ROMable DOS". Но ставить ОС на микроконтроллер — это по меньшей мере странно, а ДОС — в особенности. А как оттранслировать свою программу для ROM нигде — нет.


В корне не согласен с выделенным утверждением. Мне доводилось писать под контроллеры на базе i386EX без использования ОС. Поверьте гемор еще тот, так как приходилось реализовывать часть функционала ОС самим (task scheduling, timers etc.). Но я тогда еще не понимал как хорошо жить, если есть ОС, даже совсем примитивная с урезанным до невозможности функционалом. В то время мы использовали в качестве компилятора Borland C++ 3.11 и большая часть кода писалась на ANSI C. Компилили обычный ехе-ник и зашивали во флешку. Во флеши так же лежал самописный бутлоадер, который делал первоначальную инициализацию проца и необходимой переферии, далее разворачивал в ОЗУ нашу прогу и передавал ей управление.
А вообще рекомендую посмотреть все же в сторону Embedded OS. Конечно все еще зависит от задач, возложенных на контроллер. У нас это была цифровая АТС.
Re[3]: Программирование i386 как микроконтроллера
От: aloba  
Дата: 06.11.07 19:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, aloba, Вы писали:


A>>Поможет Windows CE. Найти BSP, собрать образ, загрузить в ПЗУ.


А>Что такое BSP?

Board Support Package — адаптация WinCE под конкретную плату (драйвера устройств и т.п).

А>WinCE Platform Builder — это что-то отдельное или входит в состав Visual Studio?

Для версии CE 5 это отдельный продукт. Для версии 6 это уже плагины для VS 2005 Pro.
Можно скачать ознакомительную версию, размер внушительный, но оно того стоит.
http://www.microsoft.com/embedded
Re[5]: Программирование i386 как микроконтроллера
От: sz36 Россия  
Дата: 06.11.07 23:45
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>Я там нашел только предложение запускать свою программу под "ROMable DOS". Но ставить ОС на микроконтроллер — это по меньшей мере странно, а ДОС — в особенности.


Ничего странного. Видел массу устройств именно со встроенной DOS. Правда, использование DOS накладывает определеные ограничения на архитектуру, и вообще ее распространенность в этом деле больше связана с инерцией мышления. А других ОС для встроенных систем великое множество, от крохотных, размером несколько килобайт до монстров. RTDOS, QNX, uCOS, scmRTOS, RTEMS, WinCE и другие. Думается, без ОС Вам не обойтись. Я, последнее время, ОС даже в разработки на 8-ми разрядных контроллерах пихаю, а уж для 32-разрядного — сам Бог велел. По поводу ОС Вам, возможно, вот здесь помогут.

Компилировать под 386EX можно, например BC++ 5.0. Он, вроде бы, бесплатный
Re: Программирование i386 как микроконтроллера
От: Roman_M rgmroman.narod.ru
Дата: 07.11.07 10:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Имеется железка (не материнка!) с 386 процем, кое-какими портами, ПЗУ и ОЗУ. Как воспользоваться VS 7.1 для написания программ под нее? Проблема в том, что программа должна быть в ПЗУ, а переменные в ОЗУ, не говоря уже о том, что линкер должен их разместить по вполне определенных адресам. Кроме того необходим стартап — его обязательно писать на ассемблере? Если да то можно ли MASM'овский obj воткнуть в основной проект — у них формат одинаков? И как оттуда этого вызвать main?



Если на эту железку нельзя поставить что-нибудь вроде WinCE, то VS 7.1 можно использовать только в качестве редактора. Чтобы раскидывать переменные и код по определенным адресам, а также для написания стартапа, по возможности без ассемблера, наверняка потребуется компилятор вроде gсс или watcom (у этих компиляторов есть специфические фичи для подобных целей) и соответствующий линкер.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.