<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									Непонятка с линкером. - STM32				            </title>
            <link>https://microtechnics.ru/community/stm32/neponyatka-s-linkerom/</link>
            <description>Обсуждение вопросов, посвященных программированию микроконтроллеров, разработке электроники и не только.</description>
            <language>ru-RU</language>
            <lastBuildDate>Mon, 15 Jun 2026 05:25:57 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>НА: Непонятка с линкером.</title>
                        <link>https://microtechnics.ru/community/stm32/neponyatka-s-linkerom/#post-1798</link>
                        <pubDate>Fri, 07 Apr 2023 10:06:48 +0000</pubDate>
                        <description><![CDATA[да как такового ещё нет. Переделываю бутлоадер. Секции переставил, чтобы в 0x08000000 переход не делать.
Хочу в flash_user_backup_section эмуляцию eeprom сделать. Но вот с секцией в рам, по...]]></description>
                        <content:encoded><![CDATA[<p>да как такового ещё нет. Переделываю бутлоадер. Секции переставил, чтобы в 0x08000000 переход не делать.</p>
<p>Хочу в flash_user_backup_section эмуляцию eeprom сделать. Но вот с секцией в рам, почему то коллизия получилась.</p>
<p>При этом линкер не жаловался на выход за пределы флеш памяти.</p>
<p>Такой бутлоадер уже работает с внешней флеш микросхемой. Но иногда происходит сбой и признак приложения удаляется.</p>
<p>Вот хочу во внутреннюю флеш перенести.</p>]]></content:encoded>
						                            <category domain="https://microtechnics.ru/community/stm32/">STM32</category>                        <dc:creator>antonmai</dc:creator>
                        <guid isPermaLink="true">https://microtechnics.ru/community/stm32/neponyatka-s-linkerom/#post-1798</guid>
                    </item>
				                    <item>
                        <title>НА: Непонятка с линкером.</title>
                        <link>https://microtechnics.ru/community/stm32/neponyatka-s-linkerom/#post-1797</link>
                        <pubDate>Fri, 07 Apr 2023 09:00:17 +0000</pubDate>
                        <description><![CDATA[Интересно, а проект можешь скинуть?]]></description>
                        <content:encoded><![CDATA[<p>Интересно, а проект можешь скинуть?</p>]]></content:encoded>
						                            <category domain="https://microtechnics.ru/community/stm32/">STM32</category>                        <dc:creator>Aveal</dc:creator>
                        <guid isPermaLink="true">https://microtechnics.ru/community/stm32/neponyatka-s-linkerom/#post-1797</guid>
                    </item>
				                    <item>
                        <title>НА: Непонятка с линкером.</title>
                        <link>https://microtechnics.ru/community/stm32/neponyatka-s-linkerom/#post-1796</link>
                        <pubDate>Fri, 07 Apr 2023 08:27:35 +0000</pubDate>
                        <description><![CDATA[Решение в
есть опция NOLOAD. Она решает данную проблему.
 
Не понятно почему без неё добавляется не 16K а 393320K
в elf обе секции клались во флеш с размерами по 0x30000;
SECTIONS
{ 
....]]></description>
                        <content:encoded><![CDATA[<p>Решение в <a href="https://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_21.html" target="_blank" rel="noopener">https://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_21.html</a></p>
<p>есть опция NOLOAD. Она решает данную проблему.</p>
<p> </p>
<p>Не понятно почему без неё добавляется не 16K а 393320K</p>
<p>в elf обе секции клались во флеш с размерами по 0x30000;</p>
<pre contenteditable="false">SECTIONS
{ 
....
/* Section for user info*/
  .ram_user_info_section (NOLOAD) :
  {
     . = ALIGN(4);
	 KEEP(*(.ram_user_info_section))
	 . = ALIGN(4);
  } &gt;RAM2_USER_INFO
  
 /*Section for backup user info*/
  .flash_user_info_backup_section (NOLOAD) :
  {
  	. = ALIGN(4);
 	KEEP(*(.flash_user_info_backup_section))
 	. = ALIGN(4);
  } &gt;FLASH_USER_INFO_BACKUP
}</pre>]]></content:encoded>
						                            <category domain="https://microtechnics.ru/community/stm32/">STM32</category>                        <dc:creator>antonmai</dc:creator>
                        <guid isPermaLink="true">https://microtechnics.ru/community/stm32/neponyatka-s-linkerom/#post-1796</guid>
                    </item>
				                    <item>
                        <title>Непонятка с линкером.</title>
                        <link>https://microtechnics.ru/community/stm32/neponyatka-s-linkerom/#post-1791</link>
                        <pubDate>Thu, 06 Apr 2023 10:10:09 +0000</pubDate>
                        <description><![CDATA[Камень-STM32F205RC
в ld файле добавляю две секции.
В отладчике всё работает. Но бинарник получается размером с небоскрёб: 393 344 кб.
Если убрать ram_user_info_section размер приходит в н...]]></description>
                        <content:encoded><![CDATA[<p>Камень-STM32F205RC</p>
<p>в ld файле добавляю две секции.</p>
<p>В отладчике всё работает. Но бинарник получается размером с небоскрёб: 393 344 кб.</p>
<p>Если убрать ram_user_info_section размер приходит в норму. Не могу понять что не так!</p>
<pre contenteditable="false">MEMORY
{
  RAM    (xrw)    : ORIGIN = 0x20000000,   LENGTH = 80K
  RAM2_USER_INFO (xrw)    : ORIGIN = 0x2001C000,   LENGTH = 16K
  FLASH_USER_INFO_BACKUP    (rx)    : ORIGIN = 0x8000000,   LENGTH = 16K
  FLASH    (rx)    : ORIGIN = 0x8004000,   LENGTH = 48K
  
  /*RAM    (xrw)    : ORIGIN = 0x20000000,   LENGTH = 80K*/
  /*RAM2    (xrw)    : ORIGIN = 0x2001C000,   LENGTH = 16K*/
  /*FLASH    (rx)    : ORIGIN = 0x8000000,   LENGTH = 256K*/
}

SECTIONS
{ 
....
/* Section for user info*/
  .ram_user_info_section :
  {
     . = ALIGN(4);
	 KEEP(*(.ram_user_info_section))
	 . = ALIGN(4);
  } &gt;RAM2_USER_INFO
  
 /*Section for backup user info*/
  .flash_user_info_backup_section :
  {
  	. = ALIGN(4);
 	KEEP(*(.flash_user_info_backup_section))
 	. = ALIGN(4);
  } &gt;FLASH_USER_INFO_BACKUP
}</pre>]]></content:encoded>
						                            <category domain="https://microtechnics.ru/community/stm32/">STM32</category>                        <dc:creator>antonmai</dc:creator>
                        <guid isPermaLink="true">https://microtechnics.ru/community/stm32/neponyatka-s-linkerom/#post-1791</guid>
                    </item>
							        </channel>
        </rss>
		