{"action":"created","issue":{"url":"https://api.github.com/repos/mbedmicro/mbed/issues/994","labels_url":"https://api.github.com/repos/mbedmicro/mbed/issues/994/labels{/name}","comments_url":"https://api.github.com/repos/mbedmicro/mbed/issues/994/comments","events_url":"https://api.github.com/repos/mbedmicro/mbed/issues/994/events","html_url":"https://github.com/mbedmicro/mbed/pull/994","id":63744169,"number":994,"title":"Vector table must be 256 aligned","user":{"login":"RobMeades","id":6726745,"avatar_url":"https://avatars.githubusercontent.com/u/6726745?v=3","gravatar_id":"","url":"https://api.github.com/users/RobMeades","html_url":"https://github.com/RobMeades","followers_url":"https://api.github.com/users/RobMeades/followers","following_url":"https://api.github.com/users/RobMeades/following{/other_user}","gists_url":"https://api.github.com/users/RobMeades/gists{/gist_id}","starred_url":"https://api.github.com/users/RobMeades/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobMeades/subscriptions","organizations_url":"https://api.github.com/users/RobMeades/orgs","repos_url":"https://api.github.com/users/RobMeades/repos","events_url":"https://api.github.com/users/RobMeades/events{/privacy}","received_events_url":"https://api.github.com/users/RobMeades/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mbedmicro/mbed/labels/needs:%20review","name":"needs: review","color":"c7def8"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":13,"created_at":"2015-03-23T14:58:56Z","updated_at":"2015-03-30T17:12:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mbedmicro/mbed/pulls/994","html_url":"https://github.com/mbedmicro/mbed/pull/994","diff_url":"https://github.com/mbedmicro/mbed/pull/994.diff","patch_url":"https://github.com/mbedmicro/mbed/pull/994.patch"},"body":"The vector table must be 256 aligned to work reliably, it must have been working by accident up to now.  This modification tested on a u-blox c027 board.  Without the change the value of `SCB->VTOR` and the location of `int_table` just before the call to `test_once()` in the second part of the test are as follows:\r\n\r\n`SCB->VTOR 0x10000280, int_table 0x100002a0`\r\n\r\n...and obviously the test fails.  With the change they are as follows:\r\n\r\n`SCB->VTOR 0x10000400, int_table 0x10000400`\r\n\r\n...and the test passes.\r\n\r\nSee issue:\r\n\r\nhttps://github.com/mbedmicro/mbed/issues/993"},"comment":{"url":"https://api.github.com/repos/mbedmicro/mbed/issues/comments/87754362","html_url":"https://github.com/mbedmicro/mbed/pull/994#issuecomment-87754362","issue_url":"https://api.github.com/repos/mbedmicro/mbed/issues/994","id":87754362,"user":{"login":"adamgreen","id":1060664,"avatar_url":"https://avatars.githubusercontent.com/u/1060664?v=3","gravatar_id":"","url":"https://api.github.com/users/adamgreen","html_url":"https://github.com/adamgreen","followers_url":"https://api.github.com/users/adamgreen/followers","following_url":"https://api.github.com/users/adamgreen/following{/other_user}","gists_url":"https://api.github.com/users/adamgreen/gists{/gist_id}","starred_url":"https://api.github.com/users/adamgreen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamgreen/subscriptions","organizations_url":"https://api.github.com/users/adamgreen/orgs","repos_url":"https://api.github.com/users/adamgreen/repos","events_url":"https://api.github.com/users/adamgreen/events{/privacy}","received_events_url":"https://api.github.com/users/adamgreen/received_events","type":"User","site_admin":false},"created_at":"2015-03-30T17:12:36Z","updated_at":"2015-03-30T17:12:36Z","body":"This test verifies that NVIC_SetVector() actually sets the interrupt vector for the desired IRQn in the manually reallocated vector table instead of assuming that it has been moved to the typical location in RAM (NVIC_RAM_VECTOR_ADDRESS) when not in FLASH.  Previous to https://github.com/mbedmicro/mbed/commit/5655d2fc2af27278bc83e1bf66b707b212c3723a the code just assumed that if the vectors weren't in FLASH then they must be at NVIC_RAM_VECTOR_ADDRESS.  That was fixed in the noted commit and this test added at the same time."}}