<!-- index.php -->
{"id":61,"date":"2014-06-06T18:23:21","date_gmt":"2014-06-06T16:23:21","guid":{"rendered":"http:\/\/pustekuchen.xn--burkfrulein-q8a.de\/?p=61"},"modified":"2014-06-06T18:23:21","modified_gmt":"2014-06-06T16:23:21","slug":"xc32-persistent-variable","status":"publish","type":"post","link":"https:\/\/blog.bur-k.de\/?p=61","title":{"rendered":"XC32 persistent Variable"},"content":{"rendered":"<p>Hello,<\/p>\n<p>today i was trying to create a persistent variable (A variable wich get not initialized on startup). I tried many ways like:<br \/>\n<code><\/code><\/p>\n<pre class=\"lang:c decode:true \">BOOL __attribute__((persistent)) my_pers_var;\nBOOL __attribute__((__persistent)) my_pers_var;\nBOOL __attribute__ ((noload)) my_pers_var; \/* Like in www.microchip.com\/support\/KBArticle.aspx?KBID=KB100239 *\/\nBOOL __attribute__((persistent), address(0xA0001000) my_pers_var; \/* This worked either, but is not very dynamic *\/<\/pre>\n<p>So the solution is the following declaration:<br \/>\n<code><br \/>\n<\/code><\/p>\n<pre class=\"lang:c decode:true \">BOOL __attribute__((persistent, section(\".persist\"))) my_pers_var;<\/pre>\n<p><strong>Explaination:<\/strong> The Attribute &#8218;persistent&#8216; marks the variable as persistant.<br \/>\nThe section &#8222;.persist&#8220; let the memory be saved in the persists section.<\/p>\n<p><strong>Should the section attribute not be enought?<\/strong>No, because its a special marked memory range which only stores persistent variables.<br \/>\nNow the map file looks how i want it to be \ud83d\ude42<br \/>\n<code><\/code><\/p>\n<pre class=\"lang:default decode:true \">.persist        0xa0000000        0x4\n0xa0000000                _persist_begin = .\n*(.persist .persist.*)\n.persist.my_pers_var\n0xa0000000        0x4 build\/XC32_PIC32MX460F512L\/production\/_ext\/906281160\/main.o\n0xa0000000                my_pers_var\n*(.pbss .pbss.*)\n0xa0000004                . = ALIGN (0x4)\n0xa0000004                _persist_end = .<\/pre>\n<p>I&#8217;am using<br \/>\n<i>XC32 v1.31<\/i><br \/>\n<i>PIC32MX450F256L<\/i><br \/>\n<i>MPLAB X IDE v2.10<\/i><\/p>\n<p>I hope i could help someone with this \ud83d\ude42<\/p>\n<div class=\"twoclick_social_bookmarks_post_61 social_share_privacy clearfix 1.6.4 locale-de_DE sprite-de_DE\"><\/div><div class=\"twoclick-js\"><script type=\"text\/javascript\">\/* <![CDATA[ *\/\njQuery(document).ready(function($){if($('.twoclick_social_bookmarks_post_61')){$('.twoclick_social_bookmarks_post_61').socialSharePrivacy({\"services\":{\"facebook\":{\"status\":\"on\",\"txt_info\":\"2 Klicks f\\u00fcr mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k\\u00f6nnen Ihre Empfehlung an Facebook senden. Schon beim Aktivieren werden Daten an Dritte \\u00fcbertragen - siehe <em>i<\\\/em>.\",\"perma_option\":\"off\",\"action\":\"like\",\"language\":\"de_DE\"},\"twitter\":{\"reply_to\":\"\",\"tweet_text\":\"%20XC32%20persistent%20Variable%20%C2%BB%20pustekuchens%20Blog%20%232.10%20%23IDE%20%23initialize%20%23Linker%20...\",\"status\":\"on\",\"txt_info\":\"2 Klicks f\\u00fcr mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k\\u00f6nnen Ihre Empfehlung an Twitter senden. Schon beim Aktivieren werden Daten an Dritte \\u00fcbertragen - siehe <em>i<\\\/em>.\",\"perma_option\":\"off\",\"language\":\"de\",\"referrer_track\":\"\"},\"gplus\":{\"status\":\"on\",\"txt_info\":\"2 Klicks f\\u00fcr mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k\\u00f6nnen Ihre Empfehlung an Google+ senden. Schon beim Aktivieren werden Daten an Dritte \\u00fcbertragen - siehe <em>i<\\\/em>.\",\"perma_option\":\"off\",\"referrer_track\":\"\"}},\"txt_help\":\"Wenn Sie diese Felder durch einen Klick aktivieren, werden Informationen an Facebook, Twitter, Flattr, Xing, t3n, LinkedIn, Pinterest oder Google eventuell ins Ausland \\u00fcbertragen und unter Umst\\u00e4nden auch dort gespeichert. N\\u00e4heres erfahren Sie durch einen Klick auf das <em>i<\\\/em>.\",\"settings_perma\":\"Dauerhaft aktivieren und Daten\\u00fcber-tragung zustimmen:\",\"info_link\":\"http:\\\/\\\/www.heise.de\\\/ct\\\/artikel\\\/2-Klicks-fuer-mehr-Datenschutz-1333879.html\",\"uri\":\"https:\\\/\\\/blog.bur-k.de\\\/?p=61\",\"post_id\":61,\"post_title_referrer_track\":\"XC32+persistent+Variable\",\"display_infobox\":\"on\"});}});\n\/* ]]> *\/<\/script><\/div>","protected":false},"excerpt":{"rendered":"<p>Hello, today i was trying to create a persistent variable (A variable wich get not initialized on startup). I tried many ways like: BOOL __attribute__((persistent)) my_pers_var; BOOL __attribute__((__persistent)) my_pers_var; BOOL __attribute__ ((noload)) my_pers_var; \/* Like in www.microchip.com\/support\/KBArticle.aspx?KBID=KB100239 *\/ BOOL __attribute__((persistent),&#8230; <a class=\"more-link\" href=\"https:\/\/blog.bur-k.de\/?p=61\">Weiterlesen &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[14,57,58,68,73,75,84,169,88,108,119,122],"class_list":["post-61","post","type-post","status-publish","format-standard","hentry","category-pic32","tag-2-10","tag-ide","tag-initialize","tag-linker-script","tag-microchip","tag-mplab","tag-persitent","tag-pic32","tag-pic32mx","tag-startup","tag-variable","tag-xc32"],"_links":{"self":[{"href":"https:\/\/blog.bur-k.de\/index.php?rest_route=\/wp\/v2\/posts\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bur-k.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bur-k.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bur-k.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bur-k.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=61"}],"version-history":[{"count":0,"href":"https:\/\/blog.bur-k.de\/index.php?rest_route=\/wp\/v2\/posts\/61\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.bur-k.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=61"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bur-k.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=61"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bur-k.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}