Rickta59

Global Moderators
  • Content count

    1,086
  • Joined

  • Last visited

  • Days Won

    61

Everything posted by Rickta59

  1. I thought CCS 7 was 64 bit only on linux, no? http://processors.wiki.ti.com/index.php/Download_CCS You have to go back to CCS 6.1.3 to get a 32 version.
  2. If you have 64bit virtualbox installed maybe you could use a linux guest install and just run the linux version of CCS.
  3. I was trying to port a sketch that used the Serial port with non standard UART parity and character length to Energia. I noticed that the UART port isn't setup to handle anything except 8-N-1. While the code below can't do all the combinations that are available to the atmega, it can do 7/8 bit, even/odd parity and 1/2 stop bits. I created a patch that will at least fix it for the chip I am using (msp430g2553). It will need some work for other chips. Apply the attached patch to the source of the latest Energia source tree. (as of 11/11/2015) -rick (See new optional second parameter https://www.arduino.cc/en/Serial/Begin ) parity.patch
  4. You should try http://dev.ti.com before you write off web apps. This one lets you develop and debug for the msp430s.
  5. Something is certainly wrong with your setup. In the picture you posted, I see it trying to compile using the -mcpu=cortex-m3 flag. That is wrong it would be -mcpu=cortex-m4. Looking at the stuff that is checked into github.com (those seem to be right) However, you can't really trust what is out on github. So who knows. You might look in the Energia15\package directory and find the platform.txt file and verify it has cortex-m4. Never mind ignore this post I read the topic title and it was msp432 .. I didn't look closely at your post. You are using a cc1350 which is a cortex-m3. I'm not sure what is wrong.
  6. Did you read the limitations of the Petit FS? ... Petit FatFs Limitations: Petitfs specifically uses as little flash and stack as possible. This, however, comes at the expense of some functionality. Files are not able be created or increased in size, and only one file can be accessed at a time. ... So if you create a zero length file (open a file in a text editor and save it without adding anything to it), it isn't going to do what you want. If you search the forum or google this is expressed in thousands of posts. The comment above comes from this document: http://www.atmel.com/Images/Atmel-42776-Using-the-Petit-FAT-File-System-Module-with-AVR_ApplicationNote_AVR42776.pdf http://elm-chan.org/fsw/ff/pf/write.html ... Description The write function has some restrictions listed below: Cannot create file. Only existing file can be written. Cannot expand file size. Cannot update time stamp of the file. Write operation can start/stop on the sector boundary only. Read-only attribute of the file cannot block write operation. File write operation must be done in following sequence. pf_lseek(ofs); read/write pointer must be moved to sector bundary prior to initiate the write operation, or it will be rounded-down to the sector boundary at first write operation. pf_write(buff, btw, &bw); Initiate write operation. Write first data to the file. pf_write(buff, btw, &bw); Write next data. Any other file function cannot be used while a write operation is in progress. pf_write(0, 0, &bw); Finalize the current write operation. If read/write pointer is not on the sector boundary, left bytes in the sector will be filled with zero. The read/write pointer in the file system object advances in number of bytes written. After the function succeeded, *bw should be checked to detect end of file. In case of *bw is less than btw, it means the read/write pointer reached end of file during the write operation. Once a write operation is initiated, it must be finalized properly, or the written data can be lost.
  7. "It's a poor craftsman that blames his tools" What are you trying to accomplish? Why are you using a severely under powered msp430g2553? With all the other options available to you why would you flog yourself with this approach?
  8. I had taken a quick glance at the feature list and had noticed that it is supposed to support that feature. I thought I read a further comment stating at some point it starts throwing away old versions to make room. I didn't dig deeper. I thought you might have. While it is all well and good to backup files as they change, it seems like it would make sense for some scenarios to only create a backup if the contents change. However, I can imagine other situations where it would be important to note file timestamp changes. I've noticed that simplistic approaches to backup schemes lead to data loss, while giving the user a false sense of safety that really isn't there. They only find out about an unrecoverable data loss after the fact. Write open source software, share it with all your friends. If you ever lose a file you just reach out for a little help from your friends.
  9. In the 37 years I've been writing code, I've only asked an admin to recover a file for me once. Turns out that file was on a disk that was being backed up by a SCSI tape drive that had been having problems and of course all the tapes were bad. However, it is always easier to write code the second time : )
  10. What happens when you do: $ for rev in $(seq 1000); do cat /dev/null >reallyimportant.c; echo $rev; sleep 1; done How many revisions does it save before it starts throwing out old copies and you end up with an empty c file?
  11. You can hack your gel script: $ diff tm4c1294ncpdt.gel rk1294ncpdt.gel 127a128,132 > OnRestart() > { > GEL_AdvancedReset("System Reset", 1); > } > $ pwd /home/kimballr/ti/ccsv7/ccs_base/emulation/gel
  12. So ... I just used the offline installer to load the lastest CCS 7.1 on ubuntu 16.04 64 bit. I didn't seem to have any issues debugging the blink.ino program. Maybe you could hop on IRC and explain further. [Edit 1] ... I take that back ... I switched to a TM4C1294 and I see it is faulting right away. [Edit 2] ... appears to be faulting in _init() [Edit 3] ... appears to be faulting in timerInit() ... seems to think I have a tm4c123gxl .. and is trying to set the 80MHz clock ... that is where it crashes ... looking at the properties, look at the GNU Compiler/Symbols I see ${ENERGIA_CORE_SYMBOLS} hovering over that it shows the wrong values [Edit 4] doh ... I had selected the wrong board type .. going back to recreate with proper board [Edit 5] ok .. went back selected proper board no fault, debugging works fine. Maybe you want to check which board you used to create your Energia project are you sure you picked the tm4c1294? It seems picking the wrong board TM4C board will allow you to create a file that is upload and then starts to debug but crashes right alway. Maybe this is your problem?
  13. well that intervention doesn't seem all that bad.That is your only issue?
  14. Looking back at your images, I'm not even sure how debugging with Energia and CCS works. My suggestion, is to use openocd and the arm-none-eabi-gdb that comes in the Energia package directory. In ubuntu, run energia and compile your sketch, note where the /tmp/buildxxxx/ files end up that is where you find the .elf file. Then open two xterms, in one run openocd and in the other run the gdb: [in xterm 1] ... $ openocd -f board/ek-tm4c1294xl.cfg [in xterm 2] .. $ $HOME/.energia15/packages/energia/tools/arm-none-eabi-gcc/4.8.4-20140725/bin/arm-none-eabi-gdb -q -ex 'target remote :3333' /tmp/buildxxxx/yoursketch.ino.elf Reading symbols from /tmp/buildf952838f75b6bd4033bf414decbd1185.tmp/sketch_mar21a.ino.elf...done. Remote debugging using :3333 0x0000041a in delayMicroseconds (us=us@entry=500) at /home/kimballr/.energia15/packages/energia/hardware/tivac/1.0.2/cores/tivac/wiring.c:110 110 elapsedTime = (startTime-(HWREG(NVIC_ST_CURRENT) & NVIC_ST_CURRENT_M )) & NVIC_ST_CURRENT_M; (gdb) mon reset init adapter speed: RCLK - adaptive tm4c123gh6pm.cpu: target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x000002a8 msp: 0x20008000 (gdb) b ResetISR Breakpoint 1 at 0x2a8: file /home/kimballr/.energia15/packages/energia/hardware/tivac/1.0.2/cores/tivac/startup_gcc.c, line 432. (gdb) c Continuing. Note: automatically using hardware breakpoints for read-only addresses. Breakpoint 1, ResetISR () at /home/kimballr/.energia15/packages/energia/hardware/tivac/1.0.2/cores/tivac/startup_gcc.c:432 432 void ResetISR(void) { (gdb) -rick
  15. I don't have the arm compiler stuff installed in my CCS install, however I did install the tivac library into energia 1.6.10E18 and then tried to debug it with the arm-none-eabi-gcc tools I have installed on my linux setup. I have arm-none-eabi-gcc version 6.2.1 as my default. It won't debug the .elf file generated with the energia compiler which is arm-none-eabi-g++ version 4.8.4. If I use the arm-none-eabi-gdb in from the energia packages with openocd: $ /home/kimballr/.energia15/packages/energia/tools/arm-none-eabi-gcc/4.8.4-20140725/bin/arm-none-eabi-gdb -ex 'target remote :3333' sketch_mar21a.ino.elf It works fine. I can set a break point on ResetISR without issue. $ /home/kimballr/.energia15/packages/energia/tools/arm-none-eabi-gcc/4.8.4-20140725/bin/arm-none-eabi-gdb -q -ex 'target remote :3333' sketch_mar21a.ino.elf Reading symbols from /tmp/buildf952838f75b6bd4033bf414decbd1185.tmp/sketch_mar21a.ino.elf...done. Remote debugging using :3333 0x0000041a in delayMicroseconds (us=us@entry=500) at /home/kimballr/.energia15/packages/energia/hardware/tivac/1.0.2/cores/tivac/wiring.c:110 110 elapsedTime = (startTime-(HWREG(NVIC_ST_CURRENT) & NVIC_ST_CURRENT_M )) & NVIC_ST_CURRENT_M; (gdb) mon reset init adapter speed: RCLK - adaptive tm4c123gh6pm.cpu: target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x000002a8 msp: 0x20008000 (gdb) b ResetISR Breakpoint 1 at 0x2a8: file /home/kimballr/.energia15/packages/energia/hardware/tivac/1.0.2/cores/tivac/startup_gcc.c, line 432. (gdb) c Continuing. Note: automatically using hardware breakpoints for read-only addresses. Breakpoint 1, ResetISR () at /home/kimballr/.energia15/packages/energia/hardware/tivac/1.0.2/cores/tivac/startup_gcc.c:432 432 void ResetISR(void) { (gdb) You might want to check that the gdb being used in CCS is the same version as the one being used in your energia install. -rick
  16. Also, are you using an msp430g2553? If so, you probably want to use the PUSH2 constant instead of 33.
  17. Don't you want to read the ButtonOne as INPUT?
  18. FWIW: using energia to program an msp430g2231 is an exercise in frustration. If you really want to use this chip, you would be better off using the TI C samples and the CCS IDE. Energia has been becoming less and less friendly to the smaller msp430g series for a long time. It is really focused on the higher end boards like the msp430f5529, msp430frxxxx boards, and msp432. Much of the msp430g support is broken in Energia 1.6.10E18.
  19. For a variety of reasons you can't use 16MHz on the msp430g2231 without a lot of hassle. The answer to your problem was given over in this thread recently:
  20. re: msp430-lg-core in 2 places: I was talking about what ships in energia 1.6.10E18 ... in other words what is in https://github.com/robertinant/EnergiaNG vs what is in https://github.com/energia/msp430-lg-core re: the build process Yes that is how I was able to build a version from EnergiaNG
  21. I have no idea where I would find the source code to version 1.6.10E18 of Energia. I would like to fix issues that I've previously reported and seem to be "sort of fixed" in the msp430-lg-core but aren't. Could you please point me at the source or release tag? Also, do you have a roadmap for the future development of Energia? Its progress seems to have stalled. -rick
  22. Why aren't the release notes here: http://energia.nu/releasenotes/ ? Is there an E18 commit tag I missed in that tree? When I build the latest version of that code I end up with a 1.6.11E18 version. However, it is broken for the msp430g2553, at least that one I haven't checked other msp430 core targets. void setup() { Serial.begin(9600); } void loop() { Serial.println("blah"); delay(1000); } That code will not link and gets an undefine for i2c_txrx_isr() and i2c_state_isr(): If I include <Wire.h> in the code then the problem goes away. But that isn't the point. Also, why is the msp430-lg-core in 2 places. The code in msp430-lg-core seems closer to what shipped but it is still different than what is shipped, at least for the linux platform.
  23. Also, where are the release notes for E18? I see ones for E17 on energia.nu but nothing for E18
  24. yeah .. that is the wrong thing ... which is why I asked. Yeah that is not being maintained any more. Look at the commits compared to the EnergiaNG tree. https://github.com/energia/Energia/commits/master The latest stuff seems to be in https://github.com/robertinant/EnergiaNG someplace. However I don't see a 1.6.10E18 release tag or even a commit that would indicate where the E18 snapshot was done. This core does sort of have what is in E18 however there are differences. In addition, the core is in 2 places. in the robertinant/EnergiaNG tree and also in the msp430-lg-core. The msp430 core in EnergiaNG is broken, you have to include <Wire.h> in all your code to get it to compile. -rick
  25. I guess you are right then it must be the software. I'm just surprised that the scores of other people haven't had this same problem. @Fmilburn just tested with V17 it appears he is using some manner of windows. I'm on linux and it seems to work fine. Maybe it is a platform issue.