<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: LPC1769 Memory Assignment in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538969#M6318</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Thu May 12 09:14:48 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Could be useful to post a complete debuggable project...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 00:24:39 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T00:24:39Z</dc:date>
    <item>
      <title>LPC1769 Memory Assignment</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538966#M6315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by andrewaggie on Wed May 11 14:34:24 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am working with an LPC1769 development board and working with the free version of LPCXpresso. I am writing code that is being used for data collection and I am getting a hard fault error when I try to assign the needed number of variables for this project. The code is well within the size allowable for the compiler (120 kb of the 256 kb allowable), but if I try to initialize the number of variables I need, I get the hard fault error, which I already know is an error related to trying to assign memory to an address that is not addressable. Is this an error that can be solved while still using the free version of Xpresso or will upgrading allow me to assign to more memory?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:24:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538966#M6315</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:24:37Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1769 Memory Assignment</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538967#M6316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vtw.433e on Wed May 11 14:43:41 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;From your description this has nothing to do with free vs paid. You would get linker errors if you exceeded the size limit.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Post your project so we can see what you are doing and suggest what you're doing wrong &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:24:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538967#M6316</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:24:38Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1769 Memory Assignment</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538968#M6317</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by andrewaggie on Thu May 12 08:57:56 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;A lot of my code is working, so I'll post the relevant parts in the text here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Initialization:&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "glob.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "mbed.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "Ticker.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "rtc_time.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "time.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include &amp;lt;cmath&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include &amp;lt;string&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static void flip(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void po(CANMessage);// handle 0x79X and 0x79X&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void dime(CANMessage);// handle 0x1FXXXXXX messages&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void stage(CANMessage);// handle 0x1DXXXXXX messages&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void authen(CANMessage);// handle 0x1BXXXXXX messages&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void ParseInhibit(CANMessage);&amp;nbsp;&amp;nbsp; // handle 0x0C14XXXX messages&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void ParseLED(CANMessage);// handle sounder 0x0C14XXXX messages&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern int last_data[3];// used in gotoAsleep and gotoAwake&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void service_switch(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void init(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void abtimeoutfunc(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static InterruptIn sdip(P0_4);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DigitalIn buzz(P1_15);// hardware pin for buzzer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void downloadmem(void); // loads POs&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void LEDset(int); // sets the LEDs&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern int kickcan(long, char, char, char, char, char, char, char, char, int);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//CanMessage Variables&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int joystickx, joysticky;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int axishandler, axistemp, axis;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Battery Monitor variables&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int datesetter;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int second, minute, hour, month, year, dayofweek, day, datehandler, hour2, day2, minute2, second2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;double ADCvoltage; //Converts the float percentage back into the value being read into the ADC pin&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;double batteryvoltage, chargelow;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Cycle log variables&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int chargeid;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int cyclesecond[5], cyclemonth[5], cycleminute[5], cyclehour[5], cycleday[5], cycledayofweek[5], cycleyear[5], cycle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Max and Min variables&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;double voltmaxlife, voltmaxminute, batterynibble; //Max voltage variable&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;double voltminlife = 30, voltminmonth = 30, voltminday = 30, voltminminute = 30; //Min voltage variable&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int timedmaxsecond, timedmaxminute, timedmaxhour, timedmaxmonth, timedmaxday, timedmaxdayofweek, timedmaxyear, first = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int timedminsecond, timedminminute, timedminhour, timedminmonth, timedminday, timedmindayofweek, timedminyear;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int lifemaxsecond, lifemaxminute, lifemaxhour, lifemaxmonth, lifemaxyear, lifemaxdayofweek, lifemaxday; //Time variables used to store the time of the most recent max charge across the chair's lifetime&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int lifeminsecond, lifeminminute, lifeminhour, lifeminmonth, lifeminyear, lifemindayofweek, lifeminday; //Time variables used to store the time of the most recent min charge&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int dailymaxsecond, dailymaxminute, dailymaxhour, dailymaxmonth, dailymaxday, dailymaxdayofweek, dailymaxyear;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int dailyminsecond, dailyminminute, dailyminhour, dailyminmonth, dailyminday, dailymindayofweek, dailyminyear;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;double voltagereadweek1[12], voltagereadweek2[12], voltagereadweek3[12], voltagereadweek4[12], voltagereadweek5[12], voltagereadweek6[12], voltagereadweek7[12], voltagereadweek8[12], voltagereadweek9[12], voltagereadweek10[12], voltagereadweek11[12], voltagereadweek12[12], voltagereadweek13[12], voltagereadweek14[12];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;double voltagereadday[5], voltagereadmonth[5];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;double dailymaxvolt, monthlymaxvolt, dailyminvolt = 30, monthlyminvolt = 30;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int monthlymaxsecond, monthlymaxminute, monthlymaxhour, monthlymaxmonth, monthlymaxday, monthlymaxdayofweek, monthlymaxyear;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int monthlyminsecond, monthlyminminute, monthlyminhour, monthlyminmonth, monthlyminday, monthlymindayofweek, monthlyminyear;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bool hourset = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Inhibit variables&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int inhibit4second, inhibit4minute, inhibit4hour, inhibit4month, inhibit4day, inhibit4dayofweek, inhibit4year, inhibit4band;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int inhibit5second, inhibit5minute, inhibit5hour, inhibit5month, inhibit5day, inhibit5dayofweek, inhibit5year, inhibit5band;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int inhibit2second, inhibit2minute, inhibit2hour, inhibit2month, inhibit2day, inhibit2dayofweek, inhibit2year, inhibit2band;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int inhibit3second, inhibit3minute, inhibit3hour, inhibit3month, inhibit3day, inhibit3dayofweek, inhibit3year, inhibit3band;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int inhibitdata, inhibitcan;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern int inhibits[4];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern int tempinhibit, tempband;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Error variables&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int errordata1[50], errordata2[50], batteryhandler;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int batteryerror1, batteryerror2, batteryerrorsecond, batteryerrorminute, batteryerrorhour, batteryerrorday, batteryerrordayofweek, batteryerrormonth, batteryerroryear;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;double batteryerrorvoltage;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int errorsecond[5], errorminute[5], errorhour[5], errorday[5], errordayofweek[5], errormonth[5], erroryear[5];&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Event variables&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int programchangecount, programsecond[5], programminute[5], programhour[5], programday[5], programdayofweek[5], programmonth[5], programyear[5];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int eventkind, eventlog[5], eventsecond[5], eventminute[5], eventhour[5], eventday[5], eventdayofweek[5], eventmonth[5], eventyear[5];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int profile, prosecond[5], prominute[5], prohour[5], promonth[5], proday[5], proyear[5], prodayofweek[5];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int OBP, cd, mode, previousmode, inhibitreset, previousevent, eventhappen, charging;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Memory Variables&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I2C i2c(P0_10, P0_11); //Establish the I2C protocol&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int typevalue, readlength, ackholder, readwrite, secondreturn, minutereturn, hourreturn, monthreturn, dayreturn, dayofweekreturn, yearreturn, cyclereturn;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;double batteryreturn;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;double doubleconvert;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char readdata;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int addressholder1, addressholder2, addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char temp1, temp2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char yraddress1[124], yraddress2[124], secaddress1[618], secaddress2[618], minaddress1[618], minaddress2[618], hraddress1[618], hraddress2[618], monaddress1[618], monaddress2[618], daddress1[618], daddress2[618];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char dowaddress1[309], dowaddress2[309];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/*char * writeaddress = (char *) malloc(1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char * readaddress = (char *) malloc(1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char * readout = (char *) malloc(1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char * newholder = (char *) malloc(1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char * writedata = (char *) malloc(1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char * convertholder = (char *) malloc(5);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char * doubleconvertbuffer = (char *) malloc(5);*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;char wait_msg[8] = {0,0, 0,0, 0,0, 0,0};// Used for Queued messages&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char DimeID[8] =&amp;nbsp; {1,2, 3,4, 5,6, 7,8}; // Appendex A B.1 Protocol Spec.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;char auth[8]&amp;nbsp;&amp;nbsp; =&amp;nbsp; {0,0, 0,0, 0,0, 0,0};&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int AvailProfiles, AvailModes, CurrentPro, CurrentMo, ProMask[8];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int MyNode, repo, CxSM;// everybody uses these&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int modulenumber = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int flag; // assigned by LAST can.write&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern int realspeed;// used by set speed&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;enum BusState {Asleep, Awake};// state of the bus&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;BusState MyState=Asleep;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Timeout timeout;// use to goto Sleep -- used for SCID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern Timeout abTimer;// when calling gotoAsleep, detach latched actuators&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern int color5[10];&amp;nbsp; // init&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern Ticker LEDticker;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Addressing Variables:&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;void addressing(){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int add = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;secaddress1[0] = ' ';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;secaddress2[0] = ' ';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;minaddress1[0] = '&amp;amp;';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;minaddress2[0] = 'P';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hraddress1[0] = '-';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hraddress2[0] = '!';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;monaddress1[0] = '3';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;monaddress2[0] = 'Q';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;daddress1[0] = ':';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;daddress2[0] = '"';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dowaddress1[0] = '@';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dowaddress2[0] = 'R';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;yraddress1[0] = 'C';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;yraddress2[0] = 'j';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(add &amp;lt; sizeof(secaddress1))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp1 = secaddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp2 = secaddress2[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder1 = temp1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder2 = temp2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(secaddress2[add-1] != '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;secaddress1[add] = secaddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder2 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;secaddress2[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(secaddress2[add-1] == '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder1 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;secaddress1[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;secaddress2[add] = ' ';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(add &amp;lt; sizeof(minaddress1))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp1 = minaddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp2 = minaddress2[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder1 = temp1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder2 = temp2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(minaddress2[add-1] != '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;minaddress1[add] = minaddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder2 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;minaddress2[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(minaddress2[add-1] == '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder1 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;minaddress1[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;minaddress2[add] = ' ';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(add &amp;lt; sizeof(hraddress1))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp1 = hraddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp2 = hraddress2[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder1 = temp1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder2 = temp2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(hraddress2[add-1] != '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hraddress1[add] = hraddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder2 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hraddress2[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(hraddress2[add-1] == '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder1 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hraddress1[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hraddress2[add] = ' ';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(add &amp;lt; sizeof(monaddress1))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp1 = monaddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp2 = monaddress2[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder1 = temp1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder2 = temp2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(monaddress2[add-1] != '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;monaddress1[add] = monaddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder2 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;monaddress2[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(monaddress2[add-1] == '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder1 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;monaddress1[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;monaddress2[add] = ' ';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(add &amp;lt; sizeof(daddress1))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp1 = daddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp2 = daddress2[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder1 = temp1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder2 = temp2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(daddress2[add-1] != '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;daddress1[add] = daddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder2 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;daddress2[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(daddress2[add-1] == '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder1 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;daddress1[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;daddress2[add] = ' ';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(add &amp;lt; sizeof(dowaddress1))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp1 = dowaddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp2 = dowaddress2[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder1 = temp1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder2 = temp2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(dowaddress2[add-1] != '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dowaddress1[add] = dowaddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder2 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dowaddress2[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(dowaddress2[add-1] == '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder1 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dowaddress1[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dowaddress2[add] = ' ';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(add &amp;lt; sizeof(yraddress1))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp1 = yraddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;temp2 = yraddress2[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder1 = temp1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder2 = temp2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(yraddress2[add-1] != '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;yraddress1[add] = yraddress1[add-1];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder2 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;yraddress2[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(yraddress2[add-1] == '~'){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addresshandle = addressholder1 + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;yraddress1[add] = addresshandle;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;yraddress2[add] = ' ';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;addressholder1 = addressholder2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When I remove the section for year address at the end, the code works fine and the hard fault does not show up. If I reduce the amount of year addresses to between 1-50, it works, but when it goes above 100 year address, I get the hard fault shown below.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Hard Fault error message from debug:&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;HardFault_Handler() at 0xf8&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;signal handler called&amp;gt;() at 0xfffffff9&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_free_r() at 0xcfb2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__sflush_r() at 0xcb56&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;setvbuf() at 0xe6b6&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mbed::Stream::Stream() at 0x9be2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mbed::Serial::Serial() at 0x968a&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__static_initialization_and_destruction_0() at glob.h:24 0x7ee8&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;_GLOBAL__sub_I_map() at stage.cpp:568 0x7fd6&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__libc_init_array() at 0xd81a&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ResetISR() at 0x16c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If there is anything else I can post, just ask.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:24:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538968#M6317</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:24:39Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1769 Memory Assignment</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538969#M6318</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Thu May 12 09:14:48 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Could be useful to post a complete debuggable project...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:24:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538969#M6318</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:24:39Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1769 Memory Assignment</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538970#M6319</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;bump&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 19 Jun 2016 01:10:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1769-Memory-Assignment/m-p/538970#M6319</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-19T01:10:51Z</dc:date>
    </item>
  </channel>
</rss>

