Мелкие вопросы по МК и ПЛИС.
pic16c57 перепрошить не получится - он однократно программируемый.
- Реклама
- Сообщения: 194
- Зарегистрирован: Сб ноя 07, 2009 15:27:59
Народ, объясните чайнику. Вот есть например у нас 8ми разрядная шина адреса, это значит что мы можем адресовать 2 в 8й ячеек памяти (256 вроде). То есть получается, что если мы в напихаем в контроллер много памяти, то он не будет ее "видеть", так как не хватит разрядности шины адреса. А как же получается с компутером, плашки с озу мы можем впихнуть сколько разъемов хватит, там шина расчитана на все разъемы просто? И с жестким диском так же. 
А вот и нет. Там, естессно, тоже конечная разрядность шины адреса. И в спецификации к материнке указывается максимальный объём поддерживаемого ОЗУ. Напихать-то то конечно можно во все слоты.... Но работать будет не всяkushman писал(а):А как же получается с компутером, плашки с озу мы можем впихнуть сколько разъемов хватит
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Сообщения: 194
- Зарегистрирован: Сб ноя 07, 2009 15:27:59
А с жестким диском то как? Там тоже есть лимит? Никто же когда покупает хард на терабайт не задумывается хватит ему или не хватит разрядности шины адреса. Или я чего то непонимаю
ЗЫ. Я так понимаю в фон Неймановской архитектуре нет разницы ОЗУ и ПЗУ? Это верно?
ЗЫ. Я так понимаю в фон Неймановской архитектуре нет разницы ОЗУ и ПЗУ? Это верно?
Если не ошибаюсь, в хардах последовательная адресация, и это сейчас люди не задумываются о том, будет ли их комп держать 1Тб или нет, а вот раньше, очень даже задумывались...
- Реклама
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Люди, кому не влом, подскажите пожалуйста ключики для avreal, чтобы он шил только eeprom, не трогая flash.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
RTFM http://real.kiev.ua/old/avreal/ru/description
ВЫЗОВ
avreal [ключи] [-c] имя_файла_кода [[-d] имя_файла_данных]]
или
avreal [ключи] -d имя_файла_данных (когда код трогать желания нет)
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
С самого начала делал так, все равно пишет "Program CODE memory", один раз. Поэтому и задал вопрос, подумал, что чего-то недопонял. Или это он пишет для красоты?avreal [ключи] -d имя_файла_данных (когда код трогать желания нет)
Задам вопрос по-другому. Надо ли перед этим писать -ew? Или он и так запишет eeprom?
Разница между теорией и практикой на практике гораздо больше, чем в теории.
"Ну я не знаю" (tm)
И разными версиями в глубину до 1.24rev0 то же самое, см. вложение.
Код: Выделить всё
avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr
v1.28r1 (Jan 31 2010 16:43:36) http://real.kiev.ua/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command:
-ab -pe800 -o7373 +mega8 -w -v -d foo.hex
Adapter enabled
Device connected, mega8 detected
Chip not locked
(поскипано)
Programming DATA memory
................ done (5.2s)
Verifying DATA memory
................ passed
done (36ms)
Total time 5.4s
Reset pin released
Adapter disabled- Вложения
-
- avreal.txt
- (3.82 КБ) 284 скачивания
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
-e писать не стоит, если не стоит задача стереть код.YS писал(а):Надо ли перед этим писать -ew? Или он и так запишет eeprom?
-w нужно, -v по вкусу
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Так... Задача проясняется. Значит, -e писать не надо. Я правильно понял, что -е потирает код?
У меня ключи были такие: avreal32 +mega8515 -p1 -as -o6MHz -! -n -ew -d temp.eep
Т.е. их надо заменить на avreal32 +mega8515 -p1 -as -o6MHz -! -n -w -d temp.eep ?
Будет ли при этом выполняться стирание eeprom перед ее программированием? Еще раз - стоит задача заменить содержимое eeprom, не трогая код.
У меня ключи были такие: avreal32 +mega8515 -p1 -as -o6MHz -! -n -ew -d temp.eep
Т.е. их надо заменить на avreal32 +mega8515 -p1 -as -o6MHz -! -n -w -d temp.eep ?
Будет ли при этом выполняться стирание eeprom перед ее программированием? Еще раз - стоит задача заменить содержимое eeprom, не трогая код.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
-e вызывает комануд стирания микроконтроллера, при этом трутся лок-биты, код и данные в eepromYS писал(а):Так... Задача проясняется. Значит, -e писать не надо. Я правильно понял, что -е потирает код?
Семён Семёныч!YS писал(а):У меня ключи были такие: avreal32 +mega8515 -p1 -as -o6MHz -! -n -ew -d temp.eep
-e -n это не просто стереть, это ещё и записать в сташие два байта кода счётик стираний.
Кстати, -! без нужды не стоит ставить. При этом подсунете нечаянно вместо mega8515 какую-нибудь mega8, да прошьёте в неё фьюзы от 8515
Да понятно.YS писал(а):Т.е. их надо заменить на avreal32 +mega8515 -p1 -as -o6MHz -! -n -w -d temp.eep ?
Будет ли при этом выполняться стирание eeprom перед ее программированием? Еще раз - стоит задача заменить содержимое eeprom, не трогая код.
eeprom можно перепрограмировать без стирания. На то она и не flash.
Именно так, только ещё -! -n убрать.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Е-мое!-e -n это не просто стереть, это ещё и записать в сташие два байта кода счётик стираний.
Большое Вам спасибо!
Разница между теорией и практикой на практике гораздо больше, чем в теории.
"Для резкого повышения качества программного обсеспечения достаточно всего лишь убрать функцию copy&paste из всех редакторов" (С) не помню чей.YS писал(а): Скопипастил с другого батника, который для полного программирования кристалла, и забыл убрать...
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Возникла проблема при работе SPI на меге48, а именно не хочет устанавливаться флаг SPIF и программа застревает. При этом в протеусе на меге48 и в реале на меге8 всё работает нормально.
Код:
Код:
Код: Выделить всё
void SPI_init(void)
{
DDRB|=(1<<5)|(1<<3)|(1<<0);
SD_DIS;
SPCR=(1<<SPE)|(1<<MSTR)|(1<<SPR1)|(1<<SPR0);
}
char SPI(char cData)
{
SPDR=cData;
while(!(SPSR & (1<<SPIF)));
SPSR&=~(1<<SPIF);
return(SPDR);
}
int main()
{
SPI_init();
SPI(0xFF);
while(1);
}- Сообщения: 459
- Зарегистрирован: Вс июн 01, 2008 12:16:38
Подтяните линию SS(PB2) к + питания, либо настройте соответствующий вывод порта как выход. За разъяснениями обращайтесь к даташиту, особенно к пункту SS Pin Functionality (в моей копии даташита пункт 18.3).AI_Disable писал(а):Возникла проблема при работе SPI на меге48, а именно не хочет устанавливаться флаг SPIF и программа ...
}[/code]
Почему на некоторых портах контролера устанавливается напряжение 2,5В? и эти порты нельзя изменить даже если програмно прописать значения 1 или 0 
smac, благодарствую 
- Сообщения: 459
- Зарегистрирован: Вс июн 01, 2008 12:16:38
Точную схему и программу давайте, без этого ничего сказать нельзя.Александр 071 писал(а):Почему на некоторых портах контролера устанавливается напряжение 2,5В? и эти порты нельзя изменить даже если програмно прописать значения 1 или 0
AI_Disable, заработало?
Вроде всё заработало как светодиоды отпаял. Спасибо.smac писал(а):Точную схему и программу давайте, без этого ничего сказать нельзя.Александр 071 писал(а):Почему на некоторых портах контролера устанавливается напряжение 2,5В? и эти порты нельзя изменить даже если програмно прописать значения 1 или 0
AI_Disable, заработало?



