{"action":"created","issue":{"url":"https://api.github.com/repos/digistump/OakCore/issues/16","labels_url":"https://api.github.com/repos/digistump/OakCore/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/digistump/OakCore/issues/16/comments","events_url":"https://api.github.com/repos/digistump/OakCore/issues/16/events","html_url":"https://github.com/digistump/OakCore/issues/16","id":128379295,"number":16,"title":"BOUNTY: Fatal Exception 28","user":{"login":"DarkLotus","id":1056104,"avatar_url":"https://avatars.githubusercontent.com/u/1056104?v=3","gravatar_id":"","url":"https://api.github.com/users/DarkLotus","html_url":"https://github.com/DarkLotus","followers_url":"https://api.github.com/users/DarkLotus/followers","following_url":"https://api.github.com/users/DarkLotus/following{/other_user}","gists_url":"https://api.github.com/users/DarkLotus/gists{/gist_id}","starred_url":"https://api.github.com/users/DarkLotus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DarkLotus/subscriptions","organizations_url":"https://api.github.com/users/DarkLotus/orgs","repos_url":"https://api.github.com/users/DarkLotus/repos","events_url":"https://api.github.com/users/DarkLotus/events{/privacy}","received_events_url":"https://api.github.com/users/DarkLotus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":28,"created_at":"2016-01-24T07:42:04Z","updated_at":"2016-01-26T12:09:59Z","closed_at":null,"body":"Ran Wifi Config, connected to cloud, received update. \r\nconfirmed update with /system-version\r\n\r\nI wiped out my 0.9 in ardunio and installed 0.9.1.\r\n\r\nBuilt blink sample with Particle.delay. Flashed over the cloud then \r\n\r\nFatal exception (28):\r\nepc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00637ff0, depc=0x00000000\r\n\r\n\r\nI grabbed the boot output as well which is as follows:\r\n\r\n ets Jan  8 2013,rst cause:2, boot mode:(3,7)\r\n\r\nload 0x40100000, len 3632, room 16\r\ntail 0\r\nchksum 0xc0\r\nload 0x3ffe8000, len 352, room 8\r\ntail 8\r\nchksum 0x82\r\ncsum 0x82\r\n\r\nOakBoot v1 - N,BP,0\r\n\r\nTried grounding pin 10, but doesnt appear to change anything."},"comment":{"url":"https://api.github.com/repos/digistump/OakCore/issues/comments/174974923","html_url":"https://github.com/digistump/OakCore/issues/16#issuecomment-174974923","issue_url":"https://api.github.com/repos/digistump/OakCore/issues/16","id":174974923,"user":{"login":"digistump","id":1514319,"avatar_url":"https://avatars.githubusercontent.com/u/1514319?v=3","gravatar_id":"","url":"https://api.github.com/users/digistump","html_url":"https://github.com/digistump","followers_url":"https://api.github.com/users/digistump/followers","following_url":"https://api.github.com/users/digistump/following{/other_user}","gists_url":"https://api.github.com/users/digistump/gists{/gist_id}","starred_url":"https://api.github.com/users/digistump/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/digistump/subscriptions","organizations_url":"https://api.github.com/users/digistump/orgs","repos_url":"https://api.github.com/users/digistump/repos","events_url":"https://api.github.com/users/digistump/events{/privacy}","received_events_url":"https://api.github.com/users/digistump/received_events","type":"User","site_admin":false},"created_at":"2016-01-26T12:09:58Z","updated_at":"2016-01-26T12:09:58Z","body":"I thought I'd add a bounty on this - in case someone wants to figure it out before I get back to it tomorrow.\r\n\r\nTASK:\r\nFigure out why sketches compiled on OSX/Linux64 are failing with an exception loop and implement a fix.\r\n\r\nHOW TO TEST:\r\n\r\nManually upload the bin file created when you compile the sketch, using the following command (blank.bin is attached):\r\n\r\nesptool.py --baud 115200 --port /dev/tty/YOURPORT write_flash -fs 32m 0x1000 blank.bin 0x101000 blank.bin 0x2000 YOURSKETCH.bin\r\n\r\nConfirm that it fails with a fatal exception loop on the serial monitor with the current install. Then confirm that it succeeds (by watching via serial monitor and making sure the blinking executes) with your fix.\r\n\r\nNOTE: blank is just being used to overwrite the bootloader config (and backup copy of the bootloader config) to force it to boot into rom 0, where the bin is being written\r\n\r\nBootloader layout for those curious why blank is being written to those locations:\r\n\r\n```\r\n0x000000 boot\r\n0x001000 boot config\r\n0x002000 rom0\r\n0x100000 particle config \r\n0x101000 boot config backup\r\n0x102000 rom1\r\n0x200000 particle config backup\r\n0x201000 boot key sector - direct write area\r\n0x202000 rom2\r\n0x300000 1MB filesystem\r\n0x3fb000 EEPROM sector\r\n0x3fc000 sdk config (4 sectors)\r\n```\r\n\r\n\r\n\r\nSketch for testing:\r\n\r\n```\r\nvoid setup() {\r\n\r\n// initialize the digital pin as an output.\r\npinMode(1, OUTPUT); //LED on Model A\r\n\r\n}\r\n\r\n// the loop routine runs over and over again forever:\r\nvoid loop() {\r\ndigitalWrite(1, HIGH); // turn the LED on (HIGH is the voltage level)\r\nParticle.delay(4000);\r\n\r\n// wait for a second\r\ndigitalWrite(1, LOW); // turn the LED off by making the voltage LOW\r\nParticle.delay(1000); // wait for a second\r\n}\r\n```"}}