|
Разместить переменную во flash без модификатора const, Как? |
|
|
|
Nov 6 2009, 15:18
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 13-01-06
Из: Санкт-Петербург
Пользователь №: 13 154

|
Здравствуйте. Хочу разместить переменную во flash, а не в ОЗУ. Сделал следующее: 1. В icf-файл линкера написал следующее: Код place at address mem: 0x0001000 { readonly section ConstSection1 }; 2. Объявил переменную: Код typedef struct { int array[5]; int value2; }TEST;
#pragma location = "ConstSection1" __root const TEST test = {{0,1,2,3,4},100}; В результате она все равно размещается в rw-data: (из мап-файла:) Цитата ConstSection1 inited 0x400049f8 0x18 THROUGHPUT.o [1] .............. test 0x400049f8 0x18 Data Gb THROUGHPUT.o [1] Если объявить test как const TEST test, то тогда размещается так, как я хочу: Цитата Section Kind Address Size Object ------- ---- ------- ---- ------ "A1": 0x3c .intvec ro code 0x00000000 0x3c cstartup.o [4] - 0x0000003c 0x3c
"A2": 0x18 ConstSection1 const 0x00001000 0x18 THROUGHPUT.o [1] - 0x00001018 0x18 .................................................................... test 0x00001000 0x18 Data Gb THROUGHPUT.o [1] Компилятор : IAR ARM 5.0. Мне бы очень хотелось, чтобы во флаш можно было размещать переменные без модификатора соnst, это сильно упростило бы мне жизнь. Такое возможно?
--------------------
Все врут (с) /M.D.House/
|
|
|
|
|
 |
Ответов
|
Nov 9 2009, 13:07
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 13-01-06
Из: Санкт-Петербург
Пользователь №: 13 154

|
zltigo, Почему вы считаете, что если по вашему мнению ТАК делать не надо, то так не может делать вообще никто и у вас единственно правильный путь решения? Вы уверены, что лучше меня разбираетесь в моей задаче? Или считаете, что у меня вообще нет опыта в программировании? Что мне даст чтение прототипа функции? То, что там первый указатель без const, второй с const, мне и так известно. Или там есть что-то еще, особенное, ясно подсказывающее краткий и понятный ответ на вопрос: Цитата Такое возможно? Ведь варианты ответа на мой вопрос крайне просты: 1. "Нельзя, даже не пытайся" 2. "Не знаю, но посмотрите сюда, сюда и сюда, там видел что-то похожее". 3. "Можно, посмотрите сюда и сюда". А вместо этого - философия какая-то...
--------------------
Все врут (с) /M.D.House/
|
|
|
|
|
Nov 9 2009, 13:33
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Dreamer @ Nov 9 2009, 16:07)  считаете, что у меня вообще нет опыта в программировании? Да, Ваши "желания" это показывают со всей определенностью  . Цитата Вы уверены, что лучше меня разбираетесь в моей задаче? Вполне, дабы подсказать, что разбираться в ней вообще не надо, ибо ошибка, как это часто и бывает в постановке задачи. Цитата Что мне даст чтение прототипа функции? Понимание того, как Вам нужно писать функцию для работы с разными типами указателей. Ваша функция ( как это правильно сделано во всех библиотечных функциях), должна работать и соответственно в нее передаваться указатели на const. При этом любые передаваемые указатели будут преобразовываться к const * молча, бо сие безопасно. Вы придумали делать с точностью до наоборот, т.е. через анус и маниакально пытаетесь решить надуманную проблему. Moderator: Тему перенес.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Dreamer Разместить переменную во flash без модификатора const Nov 6 2009, 15:18 zltigo Цитата(Dreamer @ Nov 6 2009, 18:18) Такое... Nov 6 2009, 17:43 Dreamer ЦитатаЭ.... ЗАЧЕМ!??? Думаете, что ее сможете ... Nov 9 2009, 08:20 GetSmart Цитата(Dreamer @ Nov 9 2009, 14:20) Мне ж... Nov 9 2009, 08:30 HARMHARM Гуглите const correctness. Нормально написанная фу... Nov 9 2009, 08:35  zltigo Цитата(HARMHARM @ Nov 9 2009, 11:35) Норм... Nov 9 2009, 09:03 Dreamer GetSmart, с принудительным преобразованием типов п... Nov 9 2009, 11:22 zltigo Цитата(Dreamer @ Nov 9 2009, 14:22) А выс... Nov 9 2009, 11:50 KRS А чего вы хотите? Как линкер может разместить данн... Nov 9 2009, 13:17 Dreamer ЦитатаКак линкер может разместить данные которые м... Nov 9 2009, 13:33 Dreamer ЦитатаДа, Ваши "желания" это показывают ... Nov 9 2009, 13:50 zltigo Цитата(Dreamer @ Nov 9 2009, 16:50) Какое... Nov 9 2009, 14:21 V_G Цитата(Dreamer @ Nov 7 2009, 01:18) Здрав... Nov 9 2009, 14:26 Сергей Борщ Цитата(V_G @ Nov 9 2009, 16:26) В xmega е... Nov 9 2009, 16:49 defunct Цитата(V_G @ Nov 9 2009, 16:26) Например,... Nov 13 2009, 13:26  V_G Цитата(defunct @ Nov 13 2009, 23:26) Таки... Nov 13 2009, 15:00   zltigo Цитата(V_G @ Nov 13 2009, 18:00) К Вашему... Nov 13 2009, 15:31    V_G Согласен, есть определенная путаница с терминологи... Nov 14 2009, 00:44     zltigo Цитата(V_G @ Nov 14 2009, 03:44) Заглянит... Nov 14 2009, 01:22      V_G Цитата(zltigo @ Nov 14 2009, 11:22) А это... Nov 14 2009, 01:56     Сергей Борщ Цитата(V_G @ Nov 14 2009, 02:44) В расшир... Nov 14 2009, 13:58      V_G Цитата(Сергей Борщ @ Nov 14 2009, 23:58) ... Nov 15 2009, 00:16       defunct Цитата(V_G @ Nov 15 2009, 02:16) Хотя есл... Nov 15 2009, 00:34       Сергей Борщ Цитата(V_G @ Nov 15 2009, 02:16) Вопрос т... Nov 15 2009, 17:56        zltigo Цитата(Сергей Борщ @ Nov 15 2009, 20:56) ... Nov 15 2009, 18:03         Сергей Борщ Цитата(zltigo @ Nov 15 2009, 20:03) потом... Nov 16 2009, 11:37          zltigo Цитата(Сергей Борщ @ Nov 16 2009, 14:37) ... Nov 16 2009, 11:43   defunct Цитата(V_G @ Nov 13 2009, 17:00) К Вашему... Nov 13 2009, 15:33 Dreamer Итить, опять двадцать пять.
Опять "трансформ... Nov 9 2009, 14:52 zltigo Цитата(Dreamer @ Nov 9 2009, 17:37) В тем... Nov 9 2009, 14:54 Dreamer Цитатаа не используете "свои другие решения... Nov 9 2009, 15:16 HARMHARM Цитата(Dreamer @ Nov 9 2009, 17:16) Но эт... Nov 9 2009, 16:38 Dreamer Сергей Борщ, я сначала специально не давал дальней... Nov 9 2009, 17:14 KRS да можно это сделать в IAR, можно! Просто надо... Nov 9 2009, 21:19 Dreamer Сергей Борщ. Вы абсолютно правильно меня поняли.
... Nov 17 2009, 10:57 zltigo Цитата(Dreamer @ Nov 17 2009, 13:57) Серг... Nov 17 2009, 11:16 sigmaN Не понял.
Если НЕ НУЖНО, то чего бы там const не ... Nov 17 2009, 13:59
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|