_Maks 0 7 апреля, 2013 Опубликовано 7 апреля, 2013 · Жалоба Стоит задача организовать перепрошивку удаленно, через Ethernet, посредством загрузчика с TFTP сервером и UDP/IP стеком. Если запрос на перепрошивку не был получен в течении ограниченного промежутка времени, необходимо каким-то образом передать DHCP настройки через RAM и перейти на исполнение main() основной программы. Как выделить место под структуру данных в одинаковых областях RAM для обоих проектов Keil?. Какие еще выгодные реализации IAP over Ethernet вы можете посоветовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 7 апреля, 2013 Опубликовано 7 апреля, 2013 · Жалоба Как выделить место под структуру данных в одинаковых областях RAM для обоих проектов Keil?. Через UNINIT-секцию в скрипте линкера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Maks 0 8 апреля, 2013 Опубликовано 8 апреля, 2013 · Жалоба Где этот скрипт лежит? Что это за секция такая? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 8 апреля, 2013 Опубликовано 8 апреля, 2013 · Жалоба Лежит в составе проекта (.scat), по умолчанию генерируется средой. Нужно будет написать свой. UNINIT - секция, которая не инициализируется при старте приложения. Вам же не нужно, чтобы данные, переданные загрузчиком, были затерты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Maks 0 10 апреля, 2013 Опубликовано 10 апреля, 2013 · Жалоба Лежит в составе проекта (.scat), по умолчанию генерируется средой. Нужно будет написать свой. Вы уверены? Я не могу найти ни одного фала scat, ни в одном своем проекте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lotor 0 10 апреля, 2013 Опубликовано 10 апреля, 2013 · Жалоба не могу найти ни одного фала scat, ни в одном своем проекте. Плохо ищите значит. Смотрите в опциях проекта, где Ваш scatter файл живет по умолчанию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 10 апреля, 2013 Опубликовано 10 апреля, 2013 · Жалоба Его может не быть, только если выбрана опция "Simple" в настройках линкера. Соответственно, нужно поменять на "Scattered". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Maks 0 11 апреля, 2013 Опубликовано 11 апреля, 2013 · Жалоба Если у меня основная программа иницирует программный сброс (для того, чтобы передать управление загрузчику), будет ли содержимое оперативки в STM32 обнуляться? Нигде не могу найти это в документации. Чему равно значение битов в оперативке по умолчанию после подачи питания? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 11 апреля, 2013 Опубликовано 11 апреля, 2013 · Жалоба будет ли содержимое оперативки в STM32 обнуляться? Врядли. Скорее останется таким же как до сброса, но расчитывать на жто нельзя. Чему равно значение битов в оперативке по умолчанию после подачи питания? Скорее всего будет в неопределённом состоянии. Вы сэкономить на обнулении ОЗУ хотите? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 11 апреля, 2013 Опубликовано 11 апреля, 2013 · Жалоба Если у меня основная программа иницирует программный сброс (для того, чтобы передать управление загрузчику), будет ли содержимое оперативки в STM32 обнуляться? Нет, не будет. Нигде не могу найти это в документации. Это как бы подразумевается. Если бы обнулялось, у компиляторов была бы опция "не обнулять программно". Чему равно значение битов в оперативке по умолчанию после подачи питания? Мусор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 11 апреля, 2013 Опубликовано 11 апреля, 2013 · Жалоба Если у меня основная программа иницирует программный сброс (для того, чтобы передать управление загрузчику), будет ли содержимое оперативки в STM32 обнуляться? Нигде не могу найти это в документации. Чему равно значение битов в оперативке по умолчанию после подачи питания? ОЗУ процессор не трогает. Периферийные регистры будут в значении "после сброса" (описаны в документации). Странный вопрос, поскольку до вызова main() состояние ОЗУ должно измениться для инициализированных данных и обнулиться для неинициализированных. Все остальное мусор. Может затереться стеком в любой момент. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Maks 0 12 апреля, 2013 Опубликовано 12 апреля, 2013 · Жалоба Судя по тому, что здесь написано, переменная в секции UNINIT будет инициализирована при переходе к main() или основной программе. А мне нужно, чтобы через переменную (структуру) можно было передать данные наверх: от загрузчика к оснвоной программе и обратно, когда программа инициирует программный сброс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 12 апреля, 2013 Опубликовано 12 апреля, 2013 · Жалоба Судя по тому, что здесь написано, переменная в секции UNINIT будет инициализирована при переходе к main() или основной программе. А мне нужно, чтобы через переменную (структуру) можно было передать данные наверх: от загрузчика к оснвоной программе и обратно, когда программа инициирует программный сброс. http://www.keil.com/support/man/docs/ca/ca_noinit.htm проверять некое значение в структуре на валидность данных в ней (например, 0x55555555), в зависимости от этого либо инициализировать, либо использовать данные в ней И еще тут http://www.keil.com/support/docs/3480.htm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 12 апреля, 2013 Опубликовано 12 апреля, 2013 · Жалоба Судя по тому, что здесь написано, переменная в секции UNINIT будет инициализирована при переходе к main() или основной программе. Во-первых, не всегда, а во-вторых, там же написано, как этого избежать. http://www.keil.com/support/man/docs/ca/ca_noinit.htm Так CARM давно кончился. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 12 апреля, 2013 Опубликовано 12 апреля, 2013 · Жалоба Так CARM давно кончился. точно, discontinued :) я как-то не обратил внимание, там CA но директивы-то наследственность не сохранили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться