Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   FAQ  •  Участники  •  Поиск
Регистрация  •  Вход

Привязка загрузки к адресу, вопрос по МК, или где сидит Boot

Список форумов» Флейм» Технофлейм На страницу 1, 2  След.
АвторСообщение
Strike
оболтус
Сообщения: 1936




05-12-2012 15:48

Всем привет.
Прошу подсказать специалистами, работающими с МК и тп.
Как работаеет НЕКОЕ устройство на основе микроконтроллера, - грубо говоря -
любое .
Знаю - на основе программы заложеной например во прицепленной к нму флеши, ,.. SPI или парраельной - без разницы..
Вопросы-
1-Начальный адрес порграммы- где, , и кем определен - ( в 16-ричном коде если конкретно)
1-А) а если нет даташита??
2-В основном на чем пишутся программы.. можно ли распознать на чем написано, на каком либо языке, по данным прошивки ( если есть возможность слить) или по другим признакам..?

Основное интересует - адрес, -начало - считывание.
Привязано к конкретному МК?
Или у всех с начального, или аппаратно заложено с какого - либо..?
Ламер конечно,.. интересуюсь..

Добавлено 05-12-2012 17:54

Чет сумбурно написал... хотел кратко, получилось хз как.
Мк=-Проц - если знаем регистры и команды..
Загрузка программы привязана к определенному адресу- заложенному производителем??
Или по умолчанию с нуля - с переадресацией??
Есть другие варианты?

Добавлено 05-12-2012 17:58

Вариант "колхозный".:
Где находится начальный адрес загруки программы ( прошивки) у определенного (любого) процессора - МК - где и как это заложено.??

:
Если что-то непонятно написал -спрашивайте ....
LH
Участник
Сообщения: 1481




05-12-2012 16:31

Strike, Возьми даташит по интересующему тебя МК , почитай его, там вся понятно расписано! Там понятно откуда тот или иной МК стартует после Reset.
А по твоей писанине действительно трудно понять ход твоих мыслей. И темболее то - во что они упёрлись в конце концов. гы-гы

С чего у тебя вообще такой вопрос возник? В чём проблема?
o_l_e_g
Предупреждений: 1
Предупреждений: 1 
Сообщения: 4057




05-12-2012 16:32

Программу можно загрузить с любого адреса, директива компиллеру типа ORG, ROMSTART и тп. Переместит код куда захочешь, изменятся адреса переходов. НО исполнение начнется с адреса вектора прерывания по сбросу, обычно с нулевого адреса. По этому адресу ставится безусловный переход к началу кода.
Определить, чем компилилась программа, можно по косвенным признакам, как радиста по почерку.
КЕН45
Забанен
Забанен
Сообщения: 2414




05-12-2012 16:45

Работа любого МП начинается с нулевого адреса, но одна из первых команд - переход на подпрограмму.
В любом МК есть резидентная программа (не доступная для пользователя), которая на определенном этапе сканирует программу пользователя и выполняет ее команды.
o_l_e_g
Предупреждений: 1
Предупреждений: 1 
Сообщения: 4057




05-12-2012 16:49

У МК, обычно нет пользователя, и соответственно ЕГО программы. гы-гы
И вообще нужно знать чем Гарвард отличается от Фон-Неймана!
Генчик
Гость 92.231.*.*





05-12-2012 16:49

КЕН45 писал:
Работа любого МП начинается с нулевого адреса

КЕН45, правда? гы-гы А как же например 8086(88), у которых после сброса обращение происходило по адресу FFFF?
КЕН45
Забанен
Забанен
Сообщения: 2414




05-12-2012 16:56

Генчик писал:
обращение происходило по адресу FFFF?

А дальше? Для счетчика команд "FFFF" это "0000 минус 1".

Добавлено 05-12-2012 15:57

o_l_e_g писал:
У МК, обычно нет пользователя

У программируемого микроконтроллера? шок А зачем он тогда нужен?
o_l_e_g
Предупреждений: 1
Предупреждений: 1 
Сообщения: 4057




05-12-2012 17:01

КЕН45, Идиот! гы-гы Прямоадресуемое пространство у 8086 20бит адреса это FFFFF гы-гы
Генчик
Гость 92.231.*.*





05-12-2012 17:01

КЕН45 писал:
А дальше?

КЕН45, а дальше начиналось чтение управляющей микропрограммы.

КЕН45 писал:
Для счетчика команд "FFFF" это "0000 минус 1".

КЕН45, пеши исчо! помираю со смеху! помираю со смеху! помираю со смеху!
Strike
оболтус
Сообщения: 1936




05-12-2012 17:03

LH, Честно говоря я хочу по живому дампу определить куда "суется" проц, где его главные биты и- дампы.
Поэтому мне надо знать , после резета куда он хочет, и по каким признакам..
Спасибо всем кто как-либо в теме, - "первариваю." - стараюсь "догнать".. улыбка улыбка
o_l_e_g
Предупреждений: 1
Предупреждений: 1 
Сообщения: 4057




05-12-2012 17:05

КЕН45 писал:

o_l_e_g писал:
У МК, обычно нет пользователя

У программируемого микроконтроллера? шок А зачем он тогда нужен?
Он красивый и им можно любоваться! гы-гы Идиот!
В мире миллионы систем без челомашинного интерфейса.
Генчик
Гость 92.231.*.*





05-12-2012 17:06

Strike писал:
Честно говоря я хочу по живому дампу определить куда "суется" проц.

Strike, хернёй маешься! гы-гы Нужно определять по даташиту на МК. гы-гы
Strike
оболтус
Сообщения: 1936




05-12-2012 17:10

Генчик, Поэтому был вопрос.. А если нет даташита?...

Добавлено 05-12-2012 19:15

Я так понял не с начального, как задаст производитель проца?

Добавлено 05-12-2012 19:41

Хорошо.

Есть система сдохшая по прошивке,.
Дамп от друого аппарата оживает систему, но у нее своя программа, , естественно не подходит для нашего..

ИМХО сбой начального адреса- инициализации МК , визуально дампы - ок, нет пробелов и FF-ов..
Хочу найти начальный адрес, чтобы восстановить "инициализацию" MK, чтобы запустить проц, т.к. молчек совсем, возможно сама программа не убита..

27С512
Ультрафиолет, тоже гемор, относительный..
Генчик
Гость 92.231.*.*





05-12-2012 17:51

Strike писал:
А если нет даташита?...

Strike, значит плохо искал.
o_l_e_g
Предупреждений: 1
Предупреждений: 1 
Сообщения: 4057




05-12-2012 20:22

ПЗУха "поплыла" имхо, зачитай в режиме плавающих бит, возможно ошибки пропадут.
starko
Гость 95.153.*.*





05-12-2012 20:23

Без особой надежды.. в смысле угадать... если 27с512, то МК 51-й... если нет ДШ, то советский - КР1816ВЕ51. Не? не оно? Тады пардон помираю со смеху!
o_l_e_g
Предупреждений: 1
Предупреждений: 1 
Сообщения: 4057




06-12-2012 04:57

starko писал:
если 27с512, то МК 51-й... помираю со смеху!

Не факт, может 68 мотороллер, может Z80, может ещё что..любой ромлесс.
ЗЫ А на маркировку и обвязку подследственного, взглянуть можно?
Strike
оболтус
Сообщения: 1936




06-12-2012 07:59

Позже отпишусь
Станок какойто, разрыхлитель,
starko
Гость 95.153.*.*





06-12-2012 11:48

o_l_e_g, заявлено ж МК, а не МП. Хотя, опять же, что ТС подразумевает.. По ему получается, что 27С512 - флешка Нет
o_l_e_g
Предупреждений: 1
Предупреждений: 1 
Сообщения: 4057




06-12-2012 12:51

starko, А ты, делаешь различие МК от МП только по наличию и типу памяти?
RIF
Участник
Сообщения: 910




06-12-2012 13:54

Опа, ежели различий нет, то мне зачесалось потрындеть голливудская улыбка
Это о центральных процессорах (читал книжку в юности).
Strike, извени за загруз темы пустым, но может оттолкнёшься...

По вкл. питания, схема формирования RESETa держит сброшенными значения всех битов управляющих регистров и обнуляет регистры процессора, кроме регистра CS (Code Segment) содержащего начальный адрес сегмента кода, в нем устанавливается значение FFFFh. После снятия RESETa процессор начинает работу в реальном режиме и в течение примерно 7 циклов синхронизации приступает к выполнению инструкции, считываемой из ROM по тому самому адресу FFFF:0000.
Процессор (начиная с i386DX) выполняет первую инструкцию по адресу FFFFFFF0h.
К этому моменту вся периферийная логика, должна быть устаканена и готова як пионЭр.

Размер области ROM от адреса FFFF:0000 до конца равен 16 байт, и в ней по указанному адресу записана команда перехода на реально исполняемый код программы (точка входа).
starko
Гость 95.153.*.*





06-12-2012 16:06

RIF, очень сомнительно, что там 86-й, уж больно мудреное НЕКОЕ устройство.

o_l_e_g, ну, как бы МК - все в одном. Память, порты. Вот не знаю, куда отнести 35-й, урезок 48-го
o_l_e_g
Предупреждений: 1
Предупреждений: 1 
Сообщения: 4057




06-12-2012 16:15

starko, четкой границы, провести не возможно! ИМХО МК ориентирован на применение во встроенных системах, его задача управлять, что вытекает из названия. А тот же ARM, это что?
Генчик
Гость 92.230.*.*





06-12-2012 17:25

o_l_e_g писал:
любой ромлесс.

o_l_e_g, и это необязательно. К МК со встроенным ROM можно и внешний прицепить, если объёма внутреннего не хватает.


starko писал:
ну, как бы МК - все в одном. Память, порты.

starko, вот именно, "как бы". помираю со смеху! Память к этому определению никаким боком, она может быть и внешней, и RAM, и ROM. гы-гы
RIF
Участник
Сообщения: 910




06-12-2012 18:07

Абсолютно!
О'писанный механизм касательно хочЬ инт., хочЬ экст., памяти.
А не хватит объёма на код программы, разместят в экст.

Главное что неизменно это регистр CS, это как метка для процессора где он получит адрес и запизд..(джамп - сделает) куда его послали.
А послать могут в любую удобную область памяти, даже в ОЗУ...
Короче, ну ИЁ в дышло гы-гы
igor.gm
Мастер по Eizo
Сообщения: 854




06-12-2012 18:14

Strike,
каждая линейка процов начинает СО СВОЕГО адреса , заложенного в конструктиве на данную линейку производителем.

1. Z80 начинает с 0000
2. 8051 начинает где то в середине или последней трети AB7E ( например)
3. другие еще ХЗ откуда.

Поэтому тебе надо знать под какой проц этот DAMP. Это в любом случае !!!!!!!!!!!

Но это еще не писец . ДАМП стоит в двоичном коде и тебе нужен будет потом ДИСАСЕМБЛЕР именно на этот проц , что бы перевести двоичный код в ассемблерную запись в виде :

go to
call
if
и тд .

И только потом , зная систему команд для данного проца , ты сможешь понять что и куда управляется.

Я тебе кайф обламал?
o_l_e_g
Предупреждений: 1
Предупреждений: 1 
Сообщения: 4057




06-12-2012 18:21

igor.gm писал:
Strike,

2. 8051 начинает где то в середине или последней трети AB7E
Чушь! С 0000 начинает, там всегда код 02h - безусловный переход, далее адрес джампа.
igor.gm
Мастер по Eizo
Сообщения: 854




06-12-2012 18:33

o_l_e_g, А это не одно и тоже? Начало ДАМПа то ХЗ где , а не по адресу 0000.
Для этого и нужно , , что бы проц выдал первой команду безусловного перехода , которая жестко в проце зашита.
А там далее начало ДАМПа и лежит.
o_l_e_g
Предупреждений: 1
Предупреждений: 1 
Сообщения: 4057




06-12-2012 18:38

Что ты понимаешь под дампом? Программа это строгая логическая последовательность, вход в неё определён адресом прерывания по сбросу, именно это и есть стартовый адрес.

Добавлено 06-12-2012 18:45

igor.gm писал:

Для этого и нужно , , что бы проц выдал первой команду безусловного перехода , которая жестко в проце зашита.
Нихера она там не зашита, в чистой памяти там FF, и я могу начать с нулевого адреса любой последовательностью команд, НО не давая разрешения прерываться, так как далее лежит поле адресов векторов прерываний. Собственно нулевой адрес, это также вектор прерывания по ресету.
starko
Гость 95.153.*.*





06-12-2012 19:26

Генчик, o_l_e_g, та называйте как хотите! Соглашусь даже навать MK, к примеру, Core i7, раз настаиваете, ибо похрен. гы-гы
Ну а вообще-то слово MK изначально подразумевало самодостаточность.

Добавлено 06-12-2012 19:34

igor.gm писал:
Начало ДАМПа то ХЗ где , а не по адресу 0000.

o_l_e_g писал:
Что ты понимаешь под дампом?

Нет, надо составлять мини-разговорник, а то понимаш - дамп, конвертор, облучатель помираю со смеху!
KVM
Участник
Сообщения: 863




06-12-2012 23:23

просветите 0000 и FFFF - это неодно и тоже???
Генчик
Гость 92.230.*.*





06-12-2012 23:29

KVM, двоечник! гы-гы

0000h = 0000 0000 0000 0000, а FFFFh = 1111 1111 1111 1111.
Список форумов» Флейм» Технофлейм» Привязка загрузки к адресу, вопрос по МК, или где сидит Boot На страницу 1, 2  След.
Перейти:  
Текущий раздел» Флейм» Технофлейм (Различные обсуждения на технические темы)








Информация по ремонту для специалистов - справочники, инструкции, энциклопедия, советы и секреты ремонта,  настройка, сервисные режимы
Powered by phpBB 2.0.18 © 2001, 2002 phpBB Group!