{"id":765,"date":"2014-03-05T12:35:53","date_gmt":"2014-03-05T17:35:53","guid":{"rendered":"http:\/\/fll-freak.com\/blog\/?p=765"},"modified":"2025-04-21T00:54:36","modified_gmt":"2025-04-21T04:54:36","slug":"arm-processor-update-2","status":"publish","type":"post","link":"https:\/\/fll-freak.com\/blog\/?p=765","title":{"rendered":"ARM processor update"},"content":{"rendered":"<p>For the last few weeks I have been banging my head against the wall trying to get an Atmel SAM7S256 processor up and running. It has taken lots of time, but I think I see the end of the tunnel. Last night was a watershed moment when I got the real time operating system running a single thread.<!--more--><\/p>\n<p>So far I have run into many problems. The tool chain is not intuitive at all. The Eclipse\/Yagarto\/OpenOCD system can&#8217;t seem to use hardware breakpoints in the GUI. I can use the command line tools, but that is extraordinarily cumbersome. So I have been doing the nasty assembler level debugging with my work IAR compiler.<\/p>\n<p>Over the last few days I have hit two bugs in the Micrium RTOS port for the Atmel SAM7S256. Admittedly the port was for IAR and not the GNU tool chain so some of the problems I hit may be related. Most notably was an issue with spurious interrupts and one where registers were not properly pushed and popped when calling a C routine from ISR level. Perhaps the IAR compiler leaves registers untouched, but the GNU tools clobber registers.<\/p>\n<p>Tonight I hope to get the RTOS scheduler (timer tick) routine working and have two tasks running at the &#8216;same&#8217; time. If I can get over that hurdle then I can start writing code to control my robot!<\/p>\n<p>I may also write a simple Python program to interface to OpenOCD and allow me to automate the hardware breakpoint issue. I should be able to do most of my debugging using test points and RS-232 messages, but for those tough nuts, I will need something other than the work IAR compiler I have very limited access to. If you are aware of a way to get hardware breakpoints to work in Eclipse, I would LOVE to hear from you!<\/p>\n<p>As an update to this update, I was able to get multiple threads running this evening as well as an OsTimeDelay. Does not seem like much, but it was a major accomplishment. Now I can clean up some loose ends and start writing uBlox6 code and cross track error algorithms for my robot!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For the last few weeks I have been banging my head against the wall trying to get an Atmel SAM7S256 processor up and running. It has taken lots of time, but I think I see the end of the tunnel. &hellip; <a href=\"https:\/\/fll-freak.com\/blog\/?p=765\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,24],"tags":[],"class_list":["post-765","post","type-post","status-publish","format-standard","hentry","category-arm","category-avc"],"_links":{"self":[{"href":"https:\/\/fll-freak.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fll-freak.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fll-freak.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fll-freak.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fll-freak.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=765"}],"version-history":[{"count":4,"href":"https:\/\/fll-freak.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/765\/revisions"}],"predecessor-version":[{"id":772,"href":"https:\/\/fll-freak.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/765\/revisions\/772"}],"wp:attachment":[{"href":"https:\/\/fll-freak.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fll-freak.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fll-freak.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}