winniethepooh 0 17 июля, 2020 Опубликовано 17 июля, 2020 · Жалоба Здравствуйте. Проект для контроллера на arm m4, который имеет память на флешь ( внешняя и медленная). Там расположен загружаемый образ, который загружается в память tcm (Tightly-Coupled Memory - встроенная в контроллер), но не большого размера зато быстро доступная. Проект быстро "вырос" за пределы tcm и необходимо разместить часть кода в оперативной памяти (флешь не подойдет слишком медленная). Мои модификации файла компоновщика приводят к созданию огромного файла образа т.к. адресное пространство между tcm и ram несколько Megabyte (сам образ несколько десятков килобайт) и такое положение вещей не приемлемо. Хотелось бы иметь часть кода в tcm а часть в ram. Это возможно? Какие решения здесь можно использовать? с уважением. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 17 июля, 2020 Опубликовано 17 июля, 2020 · Жалоба А как же гугл ? Забанили ? https://mcu-things.com/blog/ramfunc-gcc/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 17 июля, 2020 Опубликовано 17 июля, 2020 · Жалоба 40 минут назад, winniethepooh сказал: (флешь не подойдет слишком медленная). Это в каком МК на ядре M4 внутренняя флешь не имеет кеша? 40 минут назад, winniethepooh сказал: Это возможно? Какие решения здесь можно использовать? С .bin-образом прошивки думаю - никак. .hex - можно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
winniethepooh 0 17 июля, 2020 Опубликовано 17 июля, 2020 · Жалоба 35 minutes ago, x893 said: А как же гугл ? Забанили ? https://mcu-things.com/blog/ramfunc-gcc/ нет не забанили, но кажется у меня другие проблемы.. я не понимаю как работает компановщик. после старта контроллера секции могут быть перенесены с помощью AT> в другие области памяти но это операция увеличивает размер образа, я что то не так делаю? 20 minutes ago, jcxz said: Это в каком МК на ядре M4 внутренняя флешь не имеет кеша? С .bin-образом прошивки думаю - никак. .hex - можно. забыл добавить у меня двух ядерный контроллер. один стартует первым, копирует образ для другого (который м4 и у него нет кеша только тсм) затем стартует ядро м4. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 17 июля, 2020 Опубликовано 17 июля, 2020 · Жалоба 45 минут назад, winniethepooh сказал: забыл добавить у меня двух ядерный контроллер. один стартует первым, копирует образ для другого (который м4 и у него нет кеша только тсм) затем стартует ядро м4. И что? Это как-то заставляет использовать .bin вместо .hex? Что за секретный МК? Уж не LPC43xx ли? Так у него есть кеш. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
winniethepooh 0 17 июля, 2020 Опубликовано 17 июля, 2020 (изменено) · Жалоба 57 minutes ago, jcxz said: И что? Это как-то заставляет использовать .bin вместо .hex? Что за секретный МК? Уж не LPC43xx ли? Так у него есть кеш. imx6soloX два ядра, А9 (есть кеш) и м4 кеша нет. что вам до кеша? есть кеш нет кеша что вы там собираетесь делать? hex не выполняемый формат файла c чего вы взяли что использую hex. я вас совсем не понимаю.. Изменено 17 июля, 2020 пользователем winniethepooh Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 17 июля, 2020 Опубликовано 17 июля, 2020 · Жалоба 13 минут назад, winniethepooh сказал: hex не выполняемый формат файла c чего вы взяли что использую hex. Читайте внимательнее - я взял что вы его не используете. А что там используете - вы же не говорите. Видимо .bin. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 17 июля, 2020 Опубликовано 17 июля, 2020 · Жалоба Если речь идет про GCC, то objcopy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
winniethepooh 0 18 июля, 2020 Опубликовано 18 июля, 2020 · Жалоба 11 hours ago, dimka76 said: Если речь идет про GCC, то objcopy спасибо за ссылку и да я использую GCC. но я возможности разделить bin файл на несколько частей я слышу впервые.. попробую погуглить, но если у вас есть хорошая ссылка приемного благодарен! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 18 июля, 2020 Опубликовано 18 июля, 2020 · Жалоба 3 hours ago, winniethepooh said: попробую погуглить Зачем вообще нужен hex/.bin ? Всё есть в .elf Указываете программатору какие секции куда записывать и вперед с песнями. Можно конечно и один hex сделать с разными секциями и несколько hex'ов. И binы под разные секции. Но зачем? Если есть elf и ещё информация для отладчика там присутствует. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 20 19 июля, 2020 Опубликовано 19 июля, 2020 (изменено) · Жалоба Оба куска склеиваются вместе в один образ и объявляются константы содержащие размеры и адреса, чтобы можно было этот образ разделить и загрузить куда надо. Смотрите как работает загрузка .data секции (в самом обычном скрипте для запуска из flash), что передаётся в стартовый код. Можно и отдельно два бинарника собрать, если встроенный механизм загрузки не нужен и кто-то загрузить их оба. Изменено 19 июля, 2020 пользователем amaora Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
winniethepooh 0 20 июля, 2020 Опубликовано 20 июля, 2020 · Жалоба большое спасибо всем. хорошего дня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться