|
| 1 | + 2010-06-20 - OKAY TO FLASH THE WATCH WITH THIS PROJECT |
| 2 | + It turns out there was never a problem with the build. |
| 3 | + I discovered later that I had a Windows 7 problem that |
| 4 | + prevented the BM Firmware Update Tool and also TI's |
| 5 | + BSL_Scripter tool from accessing the the USB FET. |
| 6 | + |
| 7 | + I've since rebooted my machine and have repeated flashed |
| 8 | + the watch with mspgcc4 project with not problems. |
| 9 | + |
| 10 | + Paul |
| 11 | + |
| 12 | + |
| 13 | + ============ FIXED 2010-06-20 ======================== |
| 14 | + 2010-06-18 - DO NOT FLASH YOUR WATCH WITH THIS BUILD!! |
| 15 | + Since flashing the watch with this build a couple of days ago |
| 16 | + it has been working fine, until I tried to flash it again with |
| 17 | + the USB FET and the BM Firmware Flash Tool , the same tool that |
| 18 | + worked before I flashed the watch with this build. |
| 19 | + |
| 20 | + Although I was not able to flash the device with the USB FET |
| 21 | + I was able to flash it with the RFBSL. But even after reflashing |
| 22 | + it with the factory TI firmware I still could not flash it with |
| 23 | + the USB FET. |
| 24 | + |
| 25 | + However, using the IAR Workbench debug process I was able to flash |
| 26 | + it with the USB FET, and after flashing it this way with the original |
| 27 | + TI firmware, the USB FET capability is back. I am able to flash it |
| 28 | + once again with the BM Firmware Flash Tool via the USB FET. |
| 29 | + |
| 30 | + So a little research is in order to determine how to incorporate the |
| 31 | + USB BSL into this project. |
| 32 | + |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | + 2010-06-16 (2:30 AM CDT) - IT WORKS!!! |
| 37 | + I just completed building the project. I then flashed my watch, |
| 38 | + and all the functions I have tested work. Hour and Minutes, |
| 39 | + Seconds, Month and Day, Day of the Week, and YES! even sync. |
| 40 | + |
| 41 | + |
| 42 | + 2010-06-15 - Project now compiles and links without errors. This |
| 43 | + was accomplished by compiling and linking in separate steps. |
| 44 | + Thanks go to Daniel Poelzleitherner for this contribution. |
| 45 | + Daniel also contributed Python scripts that convert the build's elf |
| 46 | + file to a TI txt file. This function is incorporated into the |
| 47 | + makefile and is done automatically at the end of the build. |
| 48 | + |
| 49 | + |
| 50 | + ITEMS NEEDING TESTING: (as of 2010-06-14 |
| 51 | + |
| 52 | + 1) four intrinsic functions had to be written. |
| 53 | + As of 2010-06-13 they are untested and couple of |
| 54 | + them probably don't work yet. |
| 55 | + |
| 56 | + 2) bsp_msp430_defs.h - A compiler specific stanza for |
| 57 | + MSPgcc was added near line #135. This stanza was copied |
| 58 | + from the previous stanza specific to IAR and modified. The |
| 59 | + only modifications were to the __bsp_ENABLE_INTERRUPTS__() |
| 60 | + and __bsp_DISABLE_INTERRUPTS__() macros. The other macros |
| 61 | + may or may not work with MSPgcc. They do compile without errors or |
| 62 | + warnings. The one macro I am not sure about, haven't looked |
| 63 | + into what it means, is __bsp_QUOTED_PRAGMA__(x) |
| 64 | + |
| 65 | + 3) FIXED: (see note on 2010-06-15) |
| 66 | + With MSPgcc4 this project compiles cleanly (see minor warning |
| 67 | + in "Before you build the first time:") but there are linking errors |
| 68 | + "warning: internal error: unsupported relocation error" |
| 69 | + |
| 70 | + |
| 71 | + BEFORE YOU BUILD THE FIRST TIME: |
| 72 | + |
| 73 | + 1) Many of the TI source code files #include <intrinsics.h> MSPgcc does |
| 74 | + not come with an intrinsics.h file. Therefore the intrinsics.h included |
| 75 | + in this project will need to be placed in a system directory; e.g., in |
| 76 | + MSPGCC4\lib\gcc\msp430\4.4.3\include mspgcc4/msp430/include |
| 77 | + |
| 78 | + 2) I haven't figured out how to have an empty directory in git so that |
| 79 | + clones will be complete. So, before the first build, it is necessary to |
| 80 | + create the build directory specified in the makefile. |
| 81 | + |
| 82 | + 3) I am using Windows 7, and have experiemented with three different 'make' |
| 83 | + utilities - CygWin, MinGW, and GNU make. The Unix based CygWin 'make' |
| 84 | + had no problems with a blank in a directory name as long as the blank was |
| 85 | + escaped, but one or both of the DOS versions - MinGW and/or GNU make - did |
| 86 | + have a problem. To avoid this problem I have added an underscore to the |
| 87 | + directory "simpliciti/Applications/application/End Device/". It is now |
| 88 | + "simpliciti/Applications/application/End_Device/". And the reference in the |
| 89 | + makefile has been adjusted accordingly. Other than this one thing the code |
| 90 | + should still compile with either IAR, CCS, or MSPgcc4. |
| 91 | + |
| 92 | + 4) In general the source files have not been changed in such a way that the |
| 93 | + code will not still compile with either IAR or CCS compilers (except for |
| 94 | + the aforementioned adding of an underscore). However, I have not included |
| 95 | + the precompiled library files that are need to copile with the code-size |
| 96 | + limited versions of IAR and CCS. |
| 97 | + |
| 98 | + 5) MSPgcc4's signal.h issues an apparently harmless, but annoying warning, |
| 99 | + at line 39. This warning can fill a page of the output from make, making it |
| 100 | + difficult to identify the real errors. I commented this line out in my copy |
| 101 | + of signal.h. You may want to consider doing the same. |
| 102 | + |
| 103 | + |
| 104 | + HOW THE PORT WAS DONE: |
| 105 | + |
| 106 | + 1) All places where I modified the original code hopefully) are marked with my |
| 107 | + initials PFS or pfs. The only actual code changes were to the two area |
| 108 | + mentioned above in "Items needing testing:" and the #5 below. |
| 109 | + |
| 110 | + 2) bluerobin code had to be elimiated because mspgcc cannot link to the provided |
| 111 | + bluerobin library and the source code is not available. |
| 112 | + |
| 113 | + 3) All compiler specific areas that accommodated IAR and CCS were enhanced to |
| 114 | + accommodate MSPgcc4 |
| 115 | + |
| 116 | + 4) The Simpliciti *.dat files were converted to *.h files |
| 117 | + |
| 118 | + 5) Since I never need to look at my watch to determine the year, but I often |
| 119 | + look to my watch to determine the day of the week (I'm retired now), in date.c |
| 120 | + I changed the date display to display the day of the week (as a number from 0 to 6). |
| 121 | + The original code is still there, just commented out, just one line. BTW, |
| 122 | + while doing this I noticed that TI did not use the RTC for the time and date |
| 123 | + functions which might account for some of the inaccurate timekeeping that has |
| 124 | + been reported. |
| 125 | + |
| 126 | + |
| 127 | + Paul F. Sehorne |
| 128 | + 2010-06-14 |
| 129 | + |
0 commit comments