Handler 0 28 июля, 2007 Опубликовано 28 июля, 2007 · Жалоба Пишу на AVR Studio, в наличии есть Atmega8, внешнему устройству надо передавать 2кб информации, еепрома для этого не хватает, вопрос в том как использовать флеш, данные заранее известны, хотелось бы услышать как их туда проще записать и читать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
goodwin 0 29 июля, 2007 Опубликовано 29 июля, 2007 · Жалоба Пишу на AVR Studio, в наличии есть Atmega8, внешнему устройству надо передавать 2кб информации, еепрома для этого не хватает, вопрос в том как использовать флеш, данные заранее известны, хотелось бы услышать как их туда проще записать и читать. Если "данные заранее известны" и их не требуется изменять, то можно просто представить их в виде массива констант в программе, или записать по известному адресу при программировании. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Handler 0 29 июля, 2007 Опубликовано 29 июля, 2007 (изменено) · Жалоба Если "данные заранее известны" и их не требуется изменять, то можно просто представить их в виде массива констант в программе, или записать по известному адресу при программировании. а как записать сразу по известному адресу, если я например создам отдельный hex с данными, или как тогда в студио описать массив в flash, это вообще возможно? читать как я понял в студии можноиспользуя LPM. Изменено 29 июля, 2007 пользователем Handler Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
goodwin 0 29 июля, 2007 Опубликовано 29 июля, 2007 · Жалоба а как записать сразу по известному адресу, если я например создам отдельный hex с данными и ещё как их читать в студии? Проще всего какими-нибудь утилитками bin2asm/bin2c (в зависимости от того, что требуется). Можно WinHex-ом (для С)... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Handler 0 29 июля, 2007 Опубликовано 29 июля, 2007 (изменено) · Жалоба Проще всего какими-нибудь утилитками bin2asm/bin2c (в зависимости от того, что требуется). Можно WinHex-ом (для С)... не совсем понял о чем Вы, мне вот надо добавлять в flash информации ко всем прогам что я пишу, было бы классно чтобы автоматом делать такие hex, киньте пожалуйста ссылку на описание принципов формирования hex, может ручками все сделаю. Изменено 29 июля, 2007 пользователем Handler Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
goodwin 0 29 июля, 2007 Опубликовано 29 июля, 2007 · Жалоба не совсем понял о чем Вы, мне вот надо добавлять во flash в последние 2кб информации ко всем прогам что я пишу, было бы классно чтобы автоматом делать такие hex На чем пишете? На ассемблере? С помощью утилитки получаете текст для вставки в исходник, пишете : .CSEG .ORG xxxx; адрес данных my_table: ; тут текст, сгенеренный bin2asm.... .DB 0x31,0x40,0x0,0x3,0xB0,0x12,0x46,0xF0 .DB 0xC,0x93,0x18,0x24,0x3C,0x40,0x30,0x2 .DB 0xE,0x43,0x30,0x12,0x28,0x0,0xB0,0x12 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Handler 0 29 июля, 2007 Опубликовано 29 июля, 2007 (изменено) · Жалоба На чем пишете? На ассемблере? С помощью утилитки получаете текст для вставки в исходник, пишете : .CSEG .ORG xxxx; адрес данных ; тут текст, сгенеренный bin2asm.... :a14: спасибо огромное а эта утилита есть в экзешнике а то гугл только исходникик подсовывает. Изменено 29 июля, 2007 пользователем Handler Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Handler 0 29 июля, 2007 Опубликовано 29 июля, 2007 · Жалоба если у кого есть правильный bin2asm правильный, поделитесь пожалуйста, выложите где-нить или на мыло hr23(бобик)mail.ru P.S. правильный это когда генерит строки сразу по 2-4-8 байт, вместо одного чтоб всю память занимать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 30 июля, 2007 Опубликовано 30 июля, 2007 · Жалоба http://srecord.sourceforge.net/ P.S. правильный это когда генерит строки сразу по 2-4-8 байт, вместо одного чтоб всю память заниматьЧто значит "всю память"? Какая разница по скольку байт на строке - получившийся файл всё равно не читать глазами, а компилятору всё равно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Handler 0 30 июля, 2007 Опубликовано 30 июля, 2007 · Жалоба http://srecord.sourceforge.net/ Что значит "всю память"? Какая разница по скольку байт на строке - получившийся файл всё равно не читать глазами, а компилятору всё равно. я тоже так думал, нашёл bin2asm в нете, он мне выдал так .DB 0x0d .DB 0x4f .DB 0x00 .DB 0x00 .DB 0x45 .DB 0x00 .DB 0x03 .DB 0x6f .DB 0x00 .DB 0x00 .DB 0x6d .DB 0xa0 .DB 0x00 AVR Studio написала кучу ворнингов вот таких warning: .cseg .db misalignment - padding zero byte потом нашел в хелпе If the DB directive is given in a Code Segment and the expressionlist contains more than one expression, the expressions are packed so that two bytes are placed in each program memory word. If the expressionlist contains an odd number of expressions, the last expression will be placed in a program memory word of its own, even if the next line in the assemby code contains a DB directive. The unused half of the program word is set to zero. A warning is given, in order to notify the user that an extra zero byte is added to the .DB statement получается что если размещать в строки по одному байту займет в памяти в 2 раза больше места Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 30 июля, 2007 Опубликовано 30 июля, 2007 · Жалоба Вышлю свою на мыло. Она и Си и Асм формирует и делает сколько надо в строке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 30 июля, 2007 Опубликовано 30 июля, 2007 · Жалоба AVR Studio написала кучу ворнингов вот таких warning: .cseg .db misalignment - padding zero byte потом нашел в хелпе Тьху, совсем забыл про эту дуру. Я просто перелез на IAR ASM моментально, мне аврасм не понравился совершенно. А иаровски асм (только асм и линкер, без С) в конце 90-ых на сайте атмела бесплатно был. Думаю, что в srecord с этим проблем нет, сможешь задать сколько нужно по ширине, сможешь попросить dw писать и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Handler 0 30 июля, 2007 Опубликовано 30 июля, 2007 (изменено) · Жалоба :) всем спасибо за программы и ответы , но сегодня сел и спецом написал под себя по 16 в строку чтоб меньше места в коде занимали :) получилось быстрее самому чем искать и разбираться Изменено 30 июля, 2007 пользователем Handler Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться