-
- А STM8 позволяет снаружи запрограммировать этот EEPROM? Тогда создать в IAR'е отдельный сегмент, расположив его вне пределов программной памяти. Задать двоичный формат выходного файла, дальше какой-нибудь программкой разрезать его на 2 части (программа vmp(188 знак., 22.09.2010 14:24)
- Для AVR делается так (скушает это компилятор для STM8 или нет я не знаю): Tech(131 знак., 22.09.2010 08:26, )
- Для АВР я знаю как делать :) Но это увы не АВР :) - Stanislav_S(22.09.2010 11:34)
- __eeprom char x; x = 123; Так не проще? - Михаил Е.(20.09.2010 20:28)
- :) Нельзя - Error[Ta004]: __eeprom variable must be __no_init, я же в исходном посте писал :) - Stanislav_S(20.09.2010 20:50)
- Ну тогда __no_init __eeprom char x; x = 123; - Михаил Е.(20.09.2010 21:24)
- Как и ожидалось :) Stanislav_S(133 знак., 20.09.2010 22:11 - 22:14)
- И где тут инициализация? Тут присвоение. - Михаил Е.(21.09.2010 12:16)
- Как и ожидалось :) Stanislav_S(133 знак., 20.09.2010 22:11 - 22:14)
- Ну тогда __no_init __eeprom char x; x = 123; - Михаил Е.(20.09.2010 21:24)
- а константа 123 где по-Вашему будет храниться? - koyodza(20.09.2010 20:50)
- В памяти программ конечно. И что? - Михаил Е.(20.09.2010 21:22)
- перечитайте ветку :=) Именно памяти программ топикстартеру и нехватает, вот он и пытается хоть что-то куда-то перебросить - koyodza(20.09.2010 23:23)
- Я понял. Только экономия 1 байта ничего не даст. Тут другие способы нужны. - Михаил Е.(21.09.2010 12:18)
- Не нужны тут другие способы. ST не счел нужным делать такой сервис с файлом программирования EEPROM, как AVR, и имел полное право. Значит, ручками в программаторе. Все! Vladimir Ljaschko(248 знак., 21.09.2010 22:47)
- Угу, подкузьмил STM немного, ну да ладно, значит будем свой файл ваять или ручками набивать, уж как получится :) - Stanislav_S(22.09.2010 11:32)
- Не нужны тут другие способы. ST не счел нужным делать такой сервис с файлом программирования EEPROM, как AVR, и имел полное право. Значит, ручками в программаторе. Все! Vladimir Ljaschko(248 знак., 21.09.2010 22:47)
- Я понял. Только экономия 1 байта ничего не даст. Тут другие способы нужны. - Михаил Е.(21.09.2010 12:18)
- перечитайте ветку :=) Именно памяти программ топикстартеру и нехватает, вот он и пытается хоть что-то куда-то перебросить - koyodza(20.09.2010 23:23)
- В памяти программ конечно. И что? - Михаил Е.(20.09.2010 21:22)
- :) Нельзя - Error[Ta004]: __eeprom variable must be __no_init, я же в исходном посте писал :) - Stanislav_S(20.09.2010 20:50)
- Не знаком с архитектурой STM8, но хочу заметить, что размещение а) инициализированных констант б) в EEPROM подразумевают, что дебаггер должен уметь на этапе загрузки firmware программировать эту EEPROM через свой отладочный интерфейс, а rezident(172 знак., 20.09.2010 18:10)
- Может конечно и проще, однако еще проще было бы как для АВР написать __eeprom int x = 123, поскольку это частный случай, а если таблица, а если структура? И как потом данные править, а если еще и формат хранения данных поменять? Конечно если проблему не Stanislav_S(69 знак., 20.09.2010 18:42)
- А если потом придется во внешнюю EEPROM перенести, то придется еще и кусок программы переписывать ;) Нужно просто отчетливо понимать, что стоит за легкостью написания и простым по виду квалификатором __eeprpom. - rezident(20.09.2010 19:19)
- Это понятно конечно, но сейчас надо реализовать именно данный проект, что бы его :) Политическая обстановка такая :) - Stanislav_S(20.09.2010 19:26)
- Каждый раз при старте переменная будет инициализироваться? А ресурс? А отладка? Наконец, зачем вообще такая переменная в ЕЕПРОМ? - Vladimir Ljaschko(20.09.2010 18:54)
- Не будет, это всего лишь значит, что надо в файл для прошивки еепром положить 123. - Kit(20.09.2010 23:30)
- Но чтобы использовать эту константу, ее нужно будет извлечь из EEPROM и, скопировав ее значение, положить его в переменную, расположенную в ОЗУ ;) - rezident(20.09.2010 23:41)
- Потому как нехватает место во флеш, а тут 640 байт гуляет, почему бы их незадействовать под константы? - Stanislav_S(20.09.2010 19:18)
- попробуйте разобраться, почему нехватает места во флеш. Обычно после этого там появляется много свободного места ;=) - koyodza(20.09.2010 19:31)
- Помнится делал один станок на ПЛК, MITSUBISHI ALPHA. Мозги напряг конкретно. И вот не хватало мне логических элементов, хоть тресни. Самое интересное, другой человек сделал аналогичное устройство на том же ПЛК. Я же хотел сделать похитрее, универсальнее mazur(391 знак., 20.09.2010 20:03)
- Все верно, но сроки давят, причем очень сильно :) - Stanislav_S(20.09.2010 20:08)
- Ключевое слово "давят". Очень часто внешние факторы ограничивают человека. Очень сильно помогает, когда убираешь из головы все проблемы. Способов много. Например, мысленно представь, что у тебя прогорели все сроки и заказчик отказался. Виртуально mazur(135 знак., 21.09.2010 07:40)
- Надо будет попробовать, тем более что альтернативные решения есть :) - Stanislav_S(21.09.2010 12:20)
- Включаешь релаксирующую музыку (Enigmatic, Ambient, Ethnic). Очень важно, чтобы тебя в этот момент никто не отвлекал. Поза любая, главное расслабление. Закрой глаза, слушай музыку. Ты слушаешь музыку. Музыка очень красивая. Ты ее слушаешь, чувствуешь как mazur(738 знак., 21.09.2010 13:18)
- поаккуратнее с массовыми сеансами... мало ли чего... :> - Snaky(21.09.2010 14:25, youtube)
- Ты знаешь, у меня нейросенсорная тугоухость II степени (плохо слышу). И слова в песнях очень плохо разбираю. Этого певца я услышал впервые. Не поленился, скачал и прочитал текст песни. mazur(1339 знак., 21.09.2010 18:22)
- Многозначительно! :) - Vladimir Ljaschko(21.09.2010 22:50)
- Ты знаешь, у меня нейросенсорная тугоухость II степени (плохо слышу). И слова в песнях очень плохо разбираю. Этого певца я услышал впервые. Не поленился, скачал и прочитал текст песни. mazur(1339 знак., 21.09.2010 18:22)
- поаккуратнее с массовыми сеансами... мало ли чего... :> - Snaky(21.09.2010 14:25, youtube)
- Включаешь релаксирующую музыку (Enigmatic, Ambient, Ethnic). Очень важно, чтобы тебя в этот момент никто не отвлекал. Поза любая, главное расслабление. Закрой глаза, слушай музыку. Ты слушаешь музыку. Музыка очень красивая. Ты ее слушаешь, чувствуешь как mazur(738 знак., 21.09.2010 13:18)
- Надо будет попробовать, тем более что альтернативные решения есть :) - Stanislav_S(21.09.2010 12:20)
- Ключевое слово "давят". Очень часто внешние факторы ограничивают человека. Очень сильно помогает, когда убираешь из головы все проблемы. Способов много. Например, мысленно представь, что у тебя прогорели все сроки и заказчик отказался. Виртуально mazur(135 знак., 21.09.2010 07:40)
- Все верно, но сроки давят, причем очень сильно :) - Stanislav_S(20.09.2010 20:08)
- А очень просто, исходная прога была под АВР, а там код покомпактней будет :) Да и заказчик хочет пару новых функций докинуть :) - Stanislav_S(20.09.2010 19:43)
- прям история одного байта - Snaky(21.09.2010 14:17)
- Помнится делал один станок на ПЛК, MITSUBISHI ALPHA. Мозги напряг конкретно. И вот не хватало мне логических элементов, хоть тресни. Самое интересное, другой человек сделал аналогичное устройство на том же ПЛК. Я же хотел сделать похитрее, универсальнее mazur(391 знак., 20.09.2010 20:03)
- попробуйте разобраться, почему нехватает места во флеш. Обычно после этого там появляется много свободного места ;=) - koyodza(20.09.2010 19:31)
- Не будет, это всего лишь значит, что надо в файл для прошивки еепром положить 123. - Kit(20.09.2010 23:30)
- А если потом придется во внешнюю EEPROM перенести, то придется еще и кусок программы переписывать ;) Нужно просто отчетливо понимать, что стоит за легкостью написания и простым по виду квалификатором __eeprpom. - rezident(20.09.2010 19:19)
- Может конечно и проще, однако еще проще было бы как для АВР написать __eeprom int x = 123, поскольку это частный случай, а если таблица, а если структура? И как потом данные править, а если еще и формат хранения данных поменять? Конечно если проблему не Stanislav_S(69 знак., 20.09.2010 18:42)