{"id":18,"date":"2011-11-22T18:31:05","date_gmt":"2011-11-22T18:31:05","guid":{"rendered":"http:\/\/www.dognmonkey.com\/ihp307x\/?p=18"},"modified":"2012-10-21T23:13:45","modified_gmt":"2012-10-21T23:13:45","slug":"update-hex-file-for-flash-programming","status":"publish","type":"post","link":"https:\/\/www.dognmonkey.com\/ihp307x\/update-hex-file-for-flash-programming.html","title":{"rendered":"Update Hex File For Flash Programming"},"content":{"rendered":"<p style=\"text-align: center;\"><em> Since the world is changing, so is our flash program firmware. We need to update our hex file in the flash program whenever a new ECO comes out. This is how to update the hex file embedded in the program and verify files.<\/em><\/p>\n<p style=\"text-align: center;\"><em>Use cuteftp to transfer the new hex file from computer to the network hp3070. Make sure it&#8217;s in the &#8220;digital&#8221; directory. After transferred the hex file, cat &#8216;digital&#8217; to make sure it&#8217;s there.[non-members]please <a rel=\"lightbox[60% 80%]\" title=\"Register ihp307x website\" href=\"http:\/\/www.dognmonkey.com\/ihp307x\/wp-login.php\">log in<\/a> to continue reading&#8230; Thanks[\/non-members][members]<br \/>\n<\/em><\/p>\n<p style=\"text-align: center;\"><a class=\"preview\" title=\"cuteftp transfers file\" href=\"\/media\/hp3070\/updatehex\/cuteftp.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"cuteftp transfers file\" src=\"\/media\/hp3070\/updatehex\/tn_cuteftp.jpg\" alt=\"cuteftp\" width=\"250\" height=\"127\" \/><\/a> <em><\/em><a class=\"preview\" title=\"cat digital to make sure the file is there\" href=\"\/media\/hp3070\/updatehex\/catdigital.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"cat digital to make sure the file is there\" src=\"\/media\/hp3070\/updatehex\/tn_catdigital.jpg\" alt=\"cat ditital\" width=\"250\" height=\"84\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><em>Normally, all hex files names should be the same except the version #, we don&#8217;t have to type the whole name, just the version #. There are 2 files that use the hex file in flash programming (normally) : program and verify files, sometimes developers use CRC to check the program, but this is NOT a very good way. The best is to use verify with the same hex file to verify the programming. Normally when CRC is used, it&#8217;s because the &#8220;verify&#8221; test is not stable (IMO).<\/em><\/p>\n<p style=\"text-align: center;\"><em>Get &#8216;digital\/program&#8217; and &#8216;digital\/verify&#8217; to change the hex file. I always use &#8220;generate static test&#8221; to embed the hex file inside the program and verify codes for faster executions.<\/em><\/p>\n<p style=\"text-align: center;\"><em><\/em><a class=\"preview\" title=\"generate static test\" href=\"\/media\/hp3070\/updatehex\/statictest.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"generate static test\" src=\"\/media\/hp3070\/updatehex\/tn_statictest.jpg\" alt=\"generate static test\" width=\"250\" height=\"190\" \/><\/a> <a class=\"preview\" title=\"get the program file\" href=\"\/media\/hp3070\/updatehex\/updatehex.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"get the program file\" src=\"\/media\/hp3070\/updatehex\/tn_updatehex.jpg\" alt=\"get 'digital\/program'\" width=\"250\" height=\"191\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><em>Change the new version string name for all old file name. There should be 3 strings replaced: warning, databus and address bus sections. Re-save the program file and get the &#8220;verify&#8221; file.<br \/>\n<\/em><\/p>\n<p style=\"text-align: center;\"><a class=\"preview\" title=\"replace old name with new name\" href=\"\/media\/hp3070\/updatehex\/updatehex1.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"change old name to new name\" src=\"\/media\/hp3070\/updatehex\/tn_updatehex1.jpg\" alt=\"change name\" width=\"250\" height=\"190\" \/><\/a> <a class=\"preview\" title=\"3 strings replaced\" href=\"\/media\/hp3070\/updatehex\/updatehex2.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"3 strings replaced\" src=\"\/media\/hp3070\/updatehex\/tn_updatehex2.jpg\" alt=\"3 strings replaced\" width=\"250\" height=\"190\" \/><\/a><em><\/em><\/p>\n<p style=\"text-align: center;\"><em>Do the same for &#8220;verify&#8221; file if used.<\/em><\/p>\n<p style=\"text-align: center;\"><a class=\"preview\" title=\"verify file\" href=\"\/media\/hp3070\/updatehex\/updatehex3.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"verify file\" src=\"\/media\/hp3070\/updatehex\/tn_updatehex3.jpg\" alt=\"verify file\" width=\"250\" height=\"192\" \/><\/a> <a class=\"preview\" title=\"verify file\" href=\"\/media\/hp3070\/updatehex\/updatehex4.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"hex for verify file\" src=\"\/media\/hp3070\/updatehex\/tn_updatehex4.jpg\" alt=\"verify file\" width=\"250\" height=\"192\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><em>Re-save the file and compile both files: program and verify with the new hex file.<\/em><\/p>\n<p style=\"text-align: center;\"><a class=\"preview\" title=\"re-save the file\" href=\"\/media\/hp3070\/updatehex\/updatehex5.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"re-save the file\" src=\"\/media\/hp3070\/updatehex\/tn_updatehex5.jpg\" alt=\"re-save\" width=\"250\" height=\"189\" \/><\/a> <a class=\"preview\" title=\"compile both files in 1 string\" href=\"\/media\/hp3070\/updatehex\/updatehex6.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"compile both files in 1 string\" src=\"\/media\/hp3070\/updatehex\/tn_updatehex6.jpg\" alt=\"compile both files in 1 string\" width=\"250\" height=\"191\" \/><\/a><em><\/em><\/p>\n<p style=\"text-align: center;\"><em>Make sure after compile, and &#8220;object&#8221; files must be produced, if not we can&#8217;t test and we need to debug.<\/em><\/p>\n<p style=\"text-align: center;\"><a class=\"preview\" title=\"object files produced\" href=\"\/media\/hp3070\/updatehex\/updatehex8.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"object file produced\" src=\"\/media\/hp3070\/updatehex\/tn_updatehex8.jpg\" alt=\"object file produced\" width=\"250\" height=\"187\" \/><\/a> <a class=\"preview\" title=\"object files produced\" href=\"\/media\/hp3070\/updatehex\/updatehex9.jpg\" rel=\"shadowbox[hex]\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: baseline; border: 3px solid black;\" title=\"object file produced\" src=\"\/media\/hp3070\/updatehex\/tn_updatehex9.jpg\" alt=\"object file produced\" width=\"250\" height=\"191\" \/><\/a><em><\/em><\/p>\n<p style=\"text-align: center;\"><em>Re-flash the gold board, run full testplan to make sure everything works, then release.<\/em><\/p>\n<p style=\"text-align: center;\"><em>Cheers,<\/em><\/p>\n<p style=\"text-align: center;\"><em>Louis<br \/>\n<\/em><em><\/em><\/p>\n<p>[\/members]<\/p>\n<p style=\"text-align: center;\"><ul class=\"lcp_catlist\" id=\"lcp_instance_0\"><\/ul><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since the world is changing, so is our flash program firmware. We need to update our hex file in the flash program whenever a new ECO comes out. This is how to update the hex file embedded in the program and verify files. Use cuteftp to transfer the new hex file from computer to the <a href=\"https:\/\/www.dognmonkey.com\/ihp307x\/update-hex-file-for-flash-programming.html\" class=\"more-link\">&#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[10,12],"class_list":["post-18","post","type-post","status-publish","format-standard","hentry","category-maintenance-and-support","tag-flash-programming","tag-hex-file-update"],"views":921,"_links":{"self":[{"href":"https:\/\/www.dognmonkey.com\/ihp307x\/wp-json\/wp\/v2\/posts\/18","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dognmonkey.com\/ihp307x\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dognmonkey.com\/ihp307x\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dognmonkey.com\/ihp307x\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dognmonkey.com\/ihp307x\/wp-json\/wp\/v2\/comments?post=18"}],"version-history":[{"count":5,"href":"https:\/\/www.dognmonkey.com\/ihp307x\/wp-json\/wp\/v2\/posts\/18\/revisions"}],"predecessor-version":[{"id":267,"href":"https:\/\/www.dognmonkey.com\/ihp307x\/wp-json\/wp\/v2\/posts\/18\/revisions\/267"}],"wp:attachment":[{"href":"https:\/\/www.dognmonkey.com\/ihp307x\/wp-json\/wp\/v2\/media?parent=18"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dognmonkey.com\/ihp307x\/wp-json\/wp\/v2\/categories?post=18"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dognmonkey.com\/ihp307x\/wp-json\/wp\/v2\/tags?post=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}