You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
|
Feb
|
Mar
|
Apr
(19) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(7) |
2012 |
Jan
|
Feb
(4) |
Mar
(4) |
Apr
(3) |
May
(2) |
Jun
(4) |
Jul
(5) |
Aug
(1) |
Sep
(4) |
Oct
(2) |
Nov
|
Dec
(1) |
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
(1) |
Nov
|
Dec
|
From: Marco G. <mrk...@gm...> - 2013-10-14 09:44:35
|
Hi all, is there some way to understand what $0040 refers to? "void: *** IOUnit read from non-existent IO at $0040" It is an error from MSPsim, but I don't know where to find the source of the error since 0040 doesn't give me any hint. Thanks in advance. MG |
From: Ben R. <ran...@cs...> - 2013-09-13 18:09:10
|
Hi Marco, I don't recommend using the "ransford/mspsim" fork of MSPsim for Contiki development, nor will MSPsim's developers be able to troubleshoot problems with that fork. Can you reproduce the problem against mainline MSPsim from Sourceforge? -ben On Fri, Sep 13, 2013 at 3:17 AM, Marco Giordano <mrk...@gm...> wrote: > I'm trying to investigate the source of the problem. > > It seems that the watchdog timer for some reason is not reset. > From what I understand, the function "scheduleTimer" in Watchdog.java sets > the Watchdog timer at some time in the future, and it is periodically > called by the function "write" placed in the same file. > > However, I cannot understand where that function "write" is called. When > the WDT expires, the first line of my error "WDT trigger - will set > interrupt flag (no reset)" is printed and all the other errors are printed > consequently. > > I would like to know why the timer is missed to be reset, even if I think > I cannot do much to solve the problem. > > thanks, > MG > > > 2013/9/10 Marco Giordano <mrk...@gm...> > >> Hi all, >> I'm a new subscriber to the mailing list which has a problem with MSPSim. >> >> I'm a Contiki user from almost an year for my thesis job. >> To my purposes, I have added a file to the Contiki core/dev folder, which >> serves me to simulate the behavior of a temperature and light sensor. >> I don't know if this was the right way to simulate those kind of sensors, >> but it worked well till a couple of months ago. >> >> In the last period some warning messages begin to appear. I don't know if >> it is due to the presence of a ctimer I added a couple of month ago in >> those files. >> >> In particular, in most of the simulations, sometimes appears this message: >> >> void: *** *IOUnit read from non-existent IO* at ... >> >> where after "at" sometimes there's **$0040, others $0042 or $0044. >> >> I don't know what's the reason, even because I access to my dev files >> once every minute but these warning appears once every few hours, and not >> in all my simulations. Some simulations run clear till the end, without >> these messages. >> >> I have found the line printing this error in this file: >> >> >> https://github.com/ransford/mspsim/blob/master/se/sics/mspsim/core/MSP430Core.java >> >> I'm sure that this error is due to my file added to the core/dev >> directory, what I can not explain is why this error sometimes appears very >> often, other times never. >> >> Moreover, sometimes appear messages like: >> >> WDT trigger - will set interrupt flag (no reset) >> Stack Trace: number of calls: 14 PC: $b834 >> rtimer_arch_now (../../../cpu/msp430/f1xxx/rtimer-arch.c) called from >> PC: $a9ba (elapsed: 0) >> off (local in ../../../core/dev/cc2420.c) called from PC: $aa2e >> (elapsed: 348252) >> RELEASE_LOCK (local in ../../../core/dev/cc2420.c) called from PC: >> $ab10 (elapsed: 348275) >> cc2420_off (../../../core/dev/cc2420.c) called from PC: $8086 (elapsed: >> 348366) >> off (local in ../../../core/net/mac/contikimac.c) called from PC: $814a >> (elapsed: 348393) >> powercycle_turn_radio_off (local in ../../../core/net/mac/contikimac.c) >> called from PC: $81d2 (elapsed: 348416) >> powercycle (local in ../../../core/net/mac/contikimac.c) called from >> PC: $95c0 (elapsed: 349969) >> rtimer_run_next (../../../core/sys/rtimer.c) called from PC: $b866 >> (elapsed: 349988) >> *** Interrupt 6 from PC: $5622 >> __unpack_f (../../.././gcc/fp-bit.c) called from PC: $5078 (elapsed: >> 350109) >> __gtsf2 (../../.././gcc/fp-bit.c) called from PC: $a0fa (elapsed: >> 350247) >> env_data (../../../core/dev/my-sensors.c) called from PC: $6130 >> (elapsed: 3114618) >> process_thread_collect_with_harvester_process (local in >> .//collect-with-harvester.c) called from PC: $8af8 (elapsed: 3114759) >> call_process (local in ../../../core/sys/process.c) called from PC: >> $8c7a (elapsed: 3114795) >> process_run (../../../core/sys/process.c) called from PC: $4250 >> (elapsed: 3904164) >> Watchdog: illegal write to WDTCTL (0) from $b7d4 - reset!!!! >> >> which make one of my node rebooting. The problem is that these messages >> are different between simulations, so it is very difficult for me to >> understand the reason, even because I'm not expert in Contiki nor MSPSim. >> >> Hope you can give me some explanation of my errors. >> >> Thanks in advance. >> MG >> > > > > ------------------------------------------------------------------------------ > How ServiceNow helps IT people transform IT departments: > 1. Consolidate legacy IT systems to a single system of record for IT > 2. Standardize and globalize service processes across IT > 3. Implement zero-touch automation to replace manual, redundant tasks > http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk > _______________________________________________ > Mspsim-developers mailing list > Msp...@li... > https://lists.sourceforge.net/lists/listinfo/mspsim-developers > > |
From: Marco G. <mrk...@gm...> - 2013-09-13 10:18:08
|
I'm trying to investigate the source of the problem. It seems that the watchdog timer for some reason is not reset. >From what I understand, the function "scheduleTimer" in Watchdog.java sets the Watchdog timer at some time in the future, and it is periodically called by the function "write" placed in the same file. However, I cannot understand where that function "write" is called. When the WDT expires, the first line of my error "WDT trigger - will set interrupt flag (no reset)" is printed and all the other errors are printed consequently. I would like to know why the timer is missed to be reset, even if I think I cannot do much to solve the problem. thanks, MG 2013/9/10 Marco Giordano <mrk...@gm...> > Hi all, > I'm a new subscriber to the mailing list which has a problem with MSPSim. > > I'm a Contiki user from almost an year for my thesis job. > To my purposes, I have added a file to the Contiki core/dev folder, which > serves me to simulate the behavior of a temperature and light sensor. > I don't know if this was the right way to simulate those kind of sensors, > but it worked well till a couple of months ago. > > In the last period some warning messages begin to appear. I don't know if > it is due to the presence of a ctimer I added a couple of month ago in > those files. > > In particular, in most of the simulations, sometimes appears this message: > > void: *** *IOUnit read from non-existent IO* at ... > > where after "at" sometimes there's **$0040, others $0042 or $0044. > > I don't know what's the reason, even because I access to my dev files once > every minute but these warning appears once every few hours, and not in all > my simulations. Some simulations run clear till the end, without these > messages. > > I have found the line printing this error in this file: > > > https://github.com/ransford/mspsim/blob/master/se/sics/mspsim/core/MSP430Core.java > > I'm sure that this error is due to my file added to the core/dev > directory, what I can not explain is why this error sometimes appears very > often, other times never. > > Moreover, sometimes appear messages like: > > WDT trigger - will set interrupt flag (no reset) > Stack Trace: number of calls: 14 PC: $b834 > rtimer_arch_now (../../../cpu/msp430/f1xxx/rtimer-arch.c) called from > PC: $a9ba (elapsed: 0) > off (local in ../../../core/dev/cc2420.c) called from PC: $aa2e > (elapsed: 348252) > RELEASE_LOCK (local in ../../../core/dev/cc2420.c) called from PC: $ab10 > (elapsed: 348275) > cc2420_off (../../../core/dev/cc2420.c) called from PC: $8086 (elapsed: > 348366) > off (local in ../../../core/net/mac/contikimac.c) called from PC: $814a > (elapsed: 348393) > powercycle_turn_radio_off (local in ../../../core/net/mac/contikimac.c) > called from PC: $81d2 (elapsed: 348416) > powercycle (local in ../../../core/net/mac/contikimac.c) called from PC: > $95c0 (elapsed: 349969) > rtimer_run_next (../../../core/sys/rtimer.c) called from PC: $b866 > (elapsed: 349988) > *** Interrupt 6 from PC: $5622 > __unpack_f (../../.././gcc/fp-bit.c) called from PC: $5078 (elapsed: > 350109) > __gtsf2 (../../.././gcc/fp-bit.c) called from PC: $a0fa (elapsed: 350247) > env_data (../../../core/dev/my-sensors.c) called from PC: $6130 > (elapsed: 3114618) > process_thread_collect_with_harvester_process (local in > .//collect-with-harvester.c) called from PC: $8af8 (elapsed: 3114759) > call_process (local in ../../../core/sys/process.c) called from PC: > $8c7a (elapsed: 3114795) > process_run (../../../core/sys/process.c) called from PC: $4250 > (elapsed: 3904164) > Watchdog: illegal write to WDTCTL (0) from $b7d4 - reset!!!! > > which make one of my node rebooting. The problem is that these messages > are different between simulations, so it is very difficult for me to > understand the reason, even because I'm not expert in Contiki nor MSPSim. > > Hope you can give me some explanation of my errors. > > Thanks in advance. > MG > |
From: Marco G. <mrk...@gm...> - 2013-09-10 11:10:43
|
Hi all, I'm a new subscriber to the mailing list which has a problem with MSPSim. I'm a Contiki user from almost an year for my thesis job. To my purposes, I have added a file to the Contiki core/dev folder, which serves me to simulate the behavior of a temperature and light sensor. I don't know if this was the right way to simulate those kind of sensors, but it worked well till a couple of months ago. In the last period some warning messages begin to appear. I don't know if it is due to the presence of a ctimer I added a couple of month ago in those files. In particular, in most of the simulations, sometimes appears this message: void: *** *IOUnit read from non-existent IO* at ... where after "at" sometimes there's **$0040, others $0042 or $0044. I don't know what's the reason, even because I access to my dev files once every minute but these warning appears once every few hours, and not in all my simulations. Some simulations run clear till the end, without these messages. I have found the line printing this error in this file: https://github.com/ransford/mspsim/blob/master/se/sics/mspsim/core/MSP430Core.java I'm sure that this error is due to my file added to the core/dev directory, what I can not explain is why this error sometimes appears very often, other times never. Moreover, sometimes appear messages like: WDT trigger - will set interrupt flag (no reset) Stack Trace: number of calls: 14 PC: $b834 rtimer_arch_now (../../../cpu/msp430/f1xxx/rtimer-arch.c) called from PC: $a9ba (elapsed: 0) off (local in ../../../core/dev/cc2420.c) called from PC: $aa2e (elapsed: 348252) RELEASE_LOCK (local in ../../../core/dev/cc2420.c) called from PC: $ab10 (elapsed: 348275) cc2420_off (../../../core/dev/cc2420.c) called from PC: $8086 (elapsed: 348366) off (local in ../../../core/net/mac/contikimac.c) called from PC: $814a (elapsed: 348393) powercycle_turn_radio_off (local in ../../../core/net/mac/contikimac.c) called from PC: $81d2 (elapsed: 348416) powercycle (local in ../../../core/net/mac/contikimac.c) called from PC: $95c0 (elapsed: 349969) rtimer_run_next (../../../core/sys/rtimer.c) called from PC: $b866 (elapsed: 349988) *** Interrupt 6 from PC: $5622 __unpack_f (../../.././gcc/fp-bit.c) called from PC: $5078 (elapsed: 350109) __gtsf2 (../../.././gcc/fp-bit.c) called from PC: $a0fa (elapsed: 350247) env_data (../../../core/dev/my-sensors.c) called from PC: $6130 (elapsed: 3114618) process_thread_collect_with_harvester_process (local in .//collect-with-harvester.c) called from PC: $8af8 (elapsed: 3114759) call_process (local in ../../../core/sys/process.c) called from PC: $8c7a (elapsed: 3114795) process_run (../../../core/sys/process.c) called from PC: $4250 (elapsed: 3904164) Watchdog: illegal write to WDTCTL (0) from $b7d4 - reset!!!! which make one of my node rebooting. The problem is that these messages are different between simulations, so it is very difficult for me to understand the reason, even because I'm not expert in Contiki nor MSPSim. Hope you can give me some explanation of my errors. Thanks in advance. MG |
From: Daniele A. <dan...@gm...> - 2012-12-24 17:27:29
|
Dear MSPsim developers, I found a bug in the current git version of MSPsim: the PC is incremented too much when emulating CALLA instructions with indirect addressing mode. The fix is very simple: just remove the line increasing the PC in the CALLA_IND case. The patch is attached. Thank you for your hard work on MSPsim and merry Christmas :) Regards. -Daniele |
From: Joakim E. <jo...@si...> - 2012-10-31 18:13:19
|
Hello! Not for the moment - but I guess if it is a good idea to move it will move sooner or later! Are you voting on moving? Best regards, -- Joakim Moritz Struebe skrev 2012-10-31 16:59: > Hi there, > > as Cooja moved to GitHub, are there plans to move MSPsim there too? > > Cheers > Morty > > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > > > > _______________________________________________ > Mspsim-developers mailing list > Msp...@li... > https://lists.sourceforge.net/lists/listinfo/mspsim-developers > |
From: Moritz S. <Mor...@in...> - 2012-10-31 16:00:03
|
Hi there, as Cooja moved to GitHub, are there plans to move MSPsim there too? Cheers Morty -- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : st...@in... WWW : http://www4.informatik.uni-erlangen.de/~morty |
From: Daniele A. <dan...@gm...> - 2012-09-27 14:58:31
|
Hi MSPSim developers, I find out that, when executing MSP430X bitshift instructions (RRCM/RRAM/RLAM/RRUM), MSPSim does not correctly update the Status Register. The attached patch fixes the bug. Regards, -Daniele |
From: Moritz S. <Mor...@in...> - 2012-09-17 07:27:10
|
On 2012-09-14 16:42, Daniele Alessandrelli wrote: > void: *** IOUnit read from non-existent IO at $0000 > void: *** IOUnit write to non-existent IO at $0000 This is an access to a null-pointer. > > PS: Perhaps it's my CALLA implementations which are wrong, I can post > them if you want. This is always a good idea! ;) I also suggest to write a _very small_ test program. Somthing in the line of volatile char t [65*1024] int main(){ for(int i = 1; i < 65*1024; i++) t[i] = 1; } to check for errors in mspsim. Don't forget to check the disassambler to check whether the compiler did it's job right and run that in mspsim. After all it's not unlikely there's a bug in the compiler. Cheers Morty P.s: I have no idea of the MSP430X platform, this is just some advice based on my experience with similar problems. -- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : st...@in... WWW : http://www4.informatik.uni-erlangen.de/~morty |
From: Daniele A. <dan...@gm...> - 2012-09-14 14:42:41
|
Hi everybody, First of all, did any of you successfully run on MSPsim a firmware having an address space larger than 64 kB? I'm asking because I compiled some code (specifically the "rpl-border-router" Contiki example for Wismote) exceeding the 64 kB boundary and I cannot simulate it. I get an exception saying "CALLA: mode not implemented 134c => 1340". I implemented the needed addressing modes for CALLA (specifically the CALLA using register mode and indexed mode), but I get the following errors which I'm not smart enough to debug ;) Any hint? void: *** IOUnit read from non-existent IO at $0000 void: *** IOUnit write to non-existent IO at $0000 java.lang.ArrayIndexOutOfBoundsException: -24 at se.sics.mspsim.core.MSP430Core$1.write(MSP430Core.java:161) at se.sics.mspsim.core.MSP430Core.emulateOP(MSP430Core.java:1121) at se.sics.mspsim.core.MSP430.run(MSP430.java:109) at se.sics.mspsim.core.MSP430.cpuloop(MSP430.java:95) at se.sics.mspsim.platform.GenericNode.run(GenericNode.java:263) at java.lang.Thread.run(Thread.java:679) Thanks! Daniele PS: Perhaps it's my CALLA implementations which are wrong, I can post them if you want. |
From: Moritz S. <Mor...@in...> - 2012-08-07 17:08:48
|
Patches are now well tested and pushed to my git: http://i4git.cs.fau.de/mspsim.git/tree/patches Cheers Morty On 2012-07-17 18:58, Moritz Struebe wrote: > Damn, I should go home! Here's the patch! > > Cheers > Morty > > On 2012-07-17 18:58, Moritz Struebe wrote: >> > Ok, >> > >> > so here is the fixed version. It allows to add a WarnStream. This stream >> > will get the warnings, that were previously printed to System.err. >> > >> > As a side note: Is there a good reason for the "DEBUG" variable? I'd >> > expect the JIT to optimitze that call. At least I don't expect that it >> > has enough impact to justify duplicating the logic whether to debug or not. >> > >> > Cheers >> > Morty -- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : st...@in... WWW : http://www4.informatik.uni-erlangen.de/~morty |
From: Moritz S. <Mor...@in...> - 2012-07-17 16:59:06
|
Damn, I should go home! Here's the patch! Cheers Morty On 2012-07-17 18:58, Moritz Struebe wrote: > Ok, > > so here is the fixed version. It allows to add a WarnStream. This stream > will get the warnings, that were previously printed to System.err. > > As a side note: Is there a good reason for the "DEBUG" variable? I'd > expect the JIT to optimitze that call. At least I don't expect that it > has enough impact to justify duplicating the logic whether to debug or not. > > Cheers > Morty -- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : st...@in... WWW : http://www4.informatik.uni-erlangen.de/~morty |
From: Moritz S. <Mor...@in...> - 2012-07-17 16:58:10
|
Ok, so here is the fixed version. It allows to add a WarnStream. This stream will get the warnings, that were previously printed to System.err. As a side note: Is there a good reason for the "DEBUG" variable? I'd expect the JIT to optimitze that call. At least I don't expect that it has enough impact to justify duplicating the logic whether to debug or not. Cheers Morty On 2012-07-17 16:49, Moritz Struebe wrote: > Here's the follow up patch, that avoids writing to System.err if a > LogStream is registered for an IOUnit. > > Cheers > Morty -- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : st...@in... WWW : http://www4.informatik.uni-erlangen.de/~morty |
From: Moritz S. <Mor...@in...> - 2012-07-17 15:06:22
|
Ok, forget this one - a bigger patch is needed to fix this.... Cheers Morty On 2012-07-17 16:49, Moritz Struebe wrote: > Here's the follow up patch, that avoids writing to System.err if a > LogStream is registered for an IOUnit. > > Cheers > Morty -- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : st...@in... WWW : http://www4.informatik.uni-erlangen.de/~morty |
From: Moritz S. <Mor...@in...> - 2012-07-17 14:49:52
|
Here's the follow up patch, that avoids writing to System.err if a LogStream is registered for an IOUnit. Cheers Morty On 2012-07-17 16:38, Moritz Struebe wrote: > Hi, > > this tiny patch adds voidIO to the available IO-Units. While one > normally does not want to access that directly, one might want to set > the LogStream. > The Cooja-Patch, that adds the mote-information to the " *** IOUnit > write to non-existent IO at ..." warning is already working and will be > submitted as soon as patches are accepted, again. > > Cheers > Morty -- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : st...@in... WWW : http://www4.informatik.uni-erlangen.de/~morty |
From: Moritz S. <Mor...@in...> - 2012-07-17 14:38:38
|
Hi, this tiny patch adds voidIO to the available IO-Units. While one normally does not want to access that directly, one might want to set the LogStream. The Cooja-Patch, that adds the mote-information to the " *** IOUnit write to non-existent IO at ..." warning is already working and will be submitted as soon as patches are accepted, again. Cheers Morty -- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : st...@in... WWW : http://www4.informatik.uni-erlangen.de/~morty |
From: Moritz S. <Mor...@in...> - 2012-06-18 16:55:50
|
I rewrote that stub for COOJA [1] and fixed some stuff. But it's more likely that gdb is buggy, as it shouldn't crash, even if the stub returns bogus data. I use the gcc 4.4.3 toochain in combination with 7.0.1 gdb for debugging, which works fine. (Still using 3.2.3 for compilation.) Cheers Morty [1] http://contikiprojects.svn.sourceforge.net/viewvc/contikiprojects/uni-erlangen.de/COOJA_GDBstub/ On 2012-06-18 17:04, Alexander Bernauer wrote: > using the current head (commit df95ab4) of MSPSim I get the following > segmentation fault for msp430-gdb (Ubuntu 7.2~mspgcc-7.2-20110612-1ubuntu1): > > ---8<--- Console 1 > $ java -jar mspsim.jar /home/alex/scm/contiki/examples/hello-world/hello-world.sky -- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : st...@in... WWW : http://www4.informatik.uni-erlangen.de/~morty |
From: Moritz S. <Mor...@in...> - 2012-06-18 16:49:07
|
On 2012-06-18 15:49, Alexander Bernauer wrote: > As far as I can see, DWARF's Call Frame Information table contains all > necessary information to find the address of an automatic variable at > runtime. > > If necessary, I am willing to contribute the necessary work to add this > feature to MSPSim. I really need it for my project [1]. Yep, that's what you will have to do. ;) Cheers Morty -- Dipl.-Ing. Moritz 'Morty' Struebe (Wissenschaftlicher Mitarbeiter) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstr. 1 91058 Erlangen Tel : +49 9131 85-25419 Fax : +49 9131 85-28732 eMail : st...@in... WWW : http://www4.informatik.uni-erlangen.de/~morty |
From: Alexander B. <ber...@in...> - 2012-06-18 15:05:03
|
Hi using the current head (commit df95ab4) of MSPSim I get the following segmentation fault for msp430-gdb (Ubuntu 7.2~mspgcc-7.2-20110612-1ubuntu1): ---8<--- Console 1 $ java -jar mspsim.jar /home/alex/scm/contiki/examples/hello-world/hello-world.sky [...] MSPSim>gdbstubs 8877 GDBStubs open server socket port: 8877 [proceed with Console 2] [debug output - see below] --->8--- ---8<--- Console 2 $ msp430-gdb [...] (gdb) file /home/alex/scm/contiki/examples/hello-world/hello-world.sky Reading symbols from /home/alex/scm/contiki/examples/hello-world/hello-world.sky...done. (gdb) target remote localhost:8877 Remote debugging using localhost:8877 zsh: segmentation fault msp430-gdb --->8--- Is this working for anybody? Which versions of the tools to I have to use? The binary has been compiled with msp430-gcc (Ubuntu 4.5.3~mspgcc-4.5.2-20110612-1) and the example binary is from Contiki's current head (commit 51b7312). Greetings Alex ---8<--- debug output MSPSim>GDBStubs: Read 43 => + GDBStubs: Read 36 => $ GDBStubs: Read 113 => q GDBStubs: Read 83 => S GDBStubs: Read 117 => u GDBStubs: Read 112 => p GDBStubs: Read 112 => p GDBStubs: Read 111 => o GDBStubs: Read 114 => r GDBStubs: Read 116 => t GDBStubs: Read 101 => e GDBStubs: Read 100 => d GDBStubs: Read 58 => : GDBStubs: Read 113 => q GDBStubs: Read 82 => R GDBStubs: Read 101 => e GDBStubs: Read 108 => l GDBStubs: Read 111 => o GDBStubs: Read 99 => c GDBStubs: Read 73 => I GDBStubs: Read 110 => n GDBStubs: Read 115 => s GDBStubs: Read 110 => n GDBStubs: Read 43 => + GDBStubs: Read 35 => # cmd: qSupported:qRelocInsn+ Command unknown #00 GDBStubs: Read 57 => 9 GDBStubs: Read 97 => a GDBStubs: Read 43 => + GDBStubs: Read 36 => $ GDBStubs: Read 72 => H GDBStubs: Read 103 => g GDBStubs: Read 48 => 0 GDBStubs: Read 35 => # cmd: Hg0 OK#9a GDBStubs: Read 100 => d GDBStubs: Read 102 => f GDBStubs: Read 43 => + GDBStubs: Read 36 => $ GDBStubs: Read 63 => ? GDBStubs: Read 35 => # cmd: ? S01#b4 GDBStubs: Read 51 => 3 GDBStubs: Read 102 => f GDBStubs: Read 43 => + GDBStubs: Read 36 => $ GDBStubs: Read 72 => H GDBStubs: Read 99 => c GDBStubs: Read 45 => - GDBStubs: Read 49 => 1 GDBStubs: Read 35 => # cmd: Hc-1 OK#9a GDBStubs: Read 48 => 0 GDBStubs: Read 57 => 9 GDBStubs: Read 43 => + GDBStubs: Read 36 => $ GDBStubs: Read 113 => q GDBStubs: Read 67 => C GDBStubs: Read 35 => # cmd: qC QC1#c5 GDBStubs: Read 98 => b GDBStubs: Read 52 => 4 GDBStubs: Read 43 => + GDBStubs: Read 36 => $ GDBStubs: Read 113 => q GDBStubs: Read 65 => A GDBStubs: Read 116 => t GDBStubs: Read 116 => t GDBStubs: Read 97 => a GDBStubs: Read 99 => c GDBStubs: Read 104 => h GDBStubs: Read 101 => e GDBStubs: Read 100 => d GDBStubs: Read 35 => # cmd: qAttached Command unknown #00 GDBStubs: Read 56 => 8 GDBStubs: Read 102 => f GDBStubs: Read 43 => + GDBStubs: Read 36 => $ GDBStubs: Read 113 => q GDBStubs: Read 79 => O GDBStubs: Read 102 => f GDBStubs: Read 102 => f GDBStubs: Read 115 => s GDBStubs: Read 101 => e GDBStubs: Read 116 => t GDBStubs: Read 115 => s GDBStubs: Read 35 => # cmd: qOffsets Text=0;Data=0;Bss=0#04 GDBStubs: Read 52 => 4 GDBStubs: Read 98 => b GDBStubs: Read 43 => + GDBStubs: Read 36 => $ GDBStubs: Read 103 => g GDBStubs: Read 35 => # cmd: g 0000000000000000000000000000000000000000000000000000000000000000#00 GDBStubs: Read 54 => 6 GDBStubs: Read 55 => 7 GDBStubs: Read 43 => + --->8--- |
From: Alexander B. <ber...@in...> - 2012-06-18 13:49:21
|
Hi as far as I can see, the current implementation of MSPSim has no support to read the value of automatic (i.e. function local) variables. The MapTable returned by ELF.getMap() seems to contain only global and function static variables. Also, MSPSim's "symbol" command only lists those. Does anybody know how I can read the value of automatic variables from mspsim? As far as I can see, DWARF's Call Frame Information table contains all necessary information to find the address of an automatic variable at runtime. If necessary, I am willing to contribute the necessary work to add this feature to MSPSim. I really need it for my project [1]. Greetings Alex [1] http://github.com/copton/ocram |
From: Niclas F. <nf...@si...> - 2012-05-29 13:48:42
|
Hi, Thanks for this patch! It is a great start towards complete emulation of the hardware multiplier32. I have pushed it to the MSPSim git master repository. Best regards, -- Niclas Finne On 2012-05-04 16:10, Niels Möller wrote: > ni...@ly... (Niels Möller) writes: > >> 2. Looking at the file core/Multiplier32.java, it seems that the >> implementation is not complete. > > The attached patch makes the implementation a little less incomplete. > I've tested a 32x32 unsigned multiply, and it seems to work, using the > tyndall.TyndallNode platform (test program also attached). > > Most obvious omissions: I didn't touch the code handling writes to OP2, > so 32 x 16 won't work. And I don't set any of the SUMEXT and MPYC > outputs. > > This is an afternoon hack, and I'm not at all used to java programming. > Fully implementing the various modes of operation (saturation, > fractional, etc) seems like it would be several days work, and then I > have no idea about the DMA possibilities and the like. > > I'm also not entirely sure how it is suppose to operate. The > specification I have ("MSP430x5xx/MSP430x6xx Family User's Guide", > SLAU208J) says that writing OP2L "starts" the multiplication, and > writing OP2H "continues" the multiplication. Are any partial results > from this visible to the programmer? In particular, if you write OP2L, > will the low 16 bits of the product be available in RES0, before you > write to OP2H? > > Regards, > /Niels > > > > > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > > > > _______________________________________________ > Mspsim-developers mailing list > Msp...@li... > https://lists.sourceforge.net/lists/listinfo/mspsim-developers |
From: <ni...@ly...> - 2012-05-04 14:10:46
|
ni...@ly... (Niels Möller) writes: > 2. Looking at the file core/Multiplier32.java, it seems that the > implementation is not complete. The attached patch makes the implementation a little less incomplete. I've tested a 32x32 unsigned multiply, and it seems to work, using the tyndall.TyndallNode platform (test program also attached). Most obvious omissions: I didn't touch the code handling writes to OP2, so 32 x 16 won't work. And I don't set any of the SUMEXT and MPYC outputs. This is an afternoon hack, and I'm not at all used to java programming. Fully implementing the various modes of operation (saturation, fractional, etc) seems like it would be several days work, and then I have no idea about the DMA possibilities and the like. I'm also not entirely sure how it is suppose to operate. The specification I have ("MSP430x5xx/MSP430x6xx Family User's Guide", SLAU208J) says that writing OP2L "starts" the multiplication, and writing OP2H "continues" the multiplication. Are any partial results from this visible to the programmer? In particular, if you write OP2L, will the low 16 bits of the product be available in RES0, before you write to OP2H? Regards, /Niels |
From: <ni...@ly...> - 2012-04-23 09:21:29
|
Hello, I'm trying to develop and test code for MSP430F5510, using msp430-gcc and mspsim. I'm doing some crypto code which needs bignum operations, so using the hardware multiplier is important. I have some working code using the 16x16 bit multiplier. I then compile for msp430x1611, and I can run the resulting formware in the simulator using se.sics.mspsim.platform.sky.SkyNode. Seems to work fine, and I really appreciate the builtin debugging and profiling support of mspsim (I have also tried remote debugging with gdb, which would be even better, but I couldn't get that to work reliably). Now, I'd like to be able to use the 32-bit multiplier. But there are some obstacles: 1. I'm not sure which processor to build for and which platform to use. The closest I find in the simulator is MSP430F5437 (I'm new to this architecture, and I have no good idea on how it differs from the ...5510). In mspsim, the platform tyndal.TyndalNode seem to use this processor. Is this a good choice? 2. Looking at the file core/Multiplier32.java, it seems that the implementation is not complete. 3. The serial hardware seem to be different (different hardware registers, maybe more fundamental differences too?) than on msp430x1611. To get data out on the serial port, I use the file tests/msp430setup.c which among other things implements putchar. But this code doesn't work if I compile for msp430f5437 or msp430f5510, I get compilation errors when accessing various hardware registers. Any help or suggestions on how to make progress is appreciated. My current impression is that completing Multiplier32.java should not be a big deal. I have a lot less clue on how to access the serial port, for putchar. Regards, /Niels Möller PS. I sent this message a week ago, without first subscribing to the list. I got a "Your message to Mspsim-developers awaits moderator approval" back and no other response. If noone wants to do that moderation (which I fully understand), it would be nice to change the autoreply to say that messages from non-member are rejected, not moderated. Now I'm subscribed to the list, so I hope things should work better. -- Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. |
From: BILAL M. <Mus...@im...> - 2012-04-19 15:08:24
|
Hello, I am new to cooja and I am trying to run the example: http://www.sics.se/contiki/wiki/index.php/Setting_up_a_Low-Power_IPv6 <http://www.sics.se/contiki/wiki/index.php/Setting_up_a_Low-Power_IPv6/RPL_Network> and I am getting the following: [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sink.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] Set up MSP430 Core with 65536 bytes memory [java] *** Setting up f1611 IO! [java] INFO [Thread-1] (MspMote.java:224) - Loading firmware from: /home/bilalmus/contiki/examples/ipv6/rpl-collect/udp-sender.sky [java] INFO [Thread-2] (Simulation.java:248) - Simulation main loop started, system time: 1334847602651 [java] FATAL [Thread-2] (Simulation.java:287) - Simulation stopped due to error: null [java] se.sics.cooja.ContikiError [java] at se.sics.cooja.mspmote.MspMote.execute(MspMote.java:317) [java] at se.sics.cooja.mspmote.MspMote.execute(MspMote.java:284) [java] at se.sics.cooja.motes.AbstractWakeupMote$1.execute(AbstractWakeupMote.java:48) [java] at se.sics.cooja.Simulation.run(Simulation.java:275) [java] at java.lang.Thread.run(Thread.java:679) [java] Caused by: se.sics.mspsim.core.EmulationException: TimerA Trying to write to non-existent CCTL register: 3 [java] at se.sics.mspsim.core.Timer.updateTCCTL(Timer.java:562) [java] at se.sics.mspsim.core.Timer.read(Timer.java:528) [java] at se.sics.mspsim.core.MSP430Core.read(MSP430Core.java:760) [java] at se.sics.mspsim.core.MSP430Core.emulateOP(MSP430Core.java:1011) [java] at se.sics.mspsim.core.MSP430.stepMicros(MSP430.java:256) [java] at se.sics.cooja.mspmote.MspMote.execute(MspMote.java:311) [java] ... 4 more [java] MSP430: *** IOUnit read from non-existent IO at $0090 [java] MSP430: *** IOUnit read from non-existent IO at $0092 [java] MSP430: *** IOUnit read from non-existent IO at $0094 [java] MSP430: *** IOUnit read from non-existent IO at $0096 [java] MSP430: *** IOUnit read from non-existent IO at $0098 [java] MSP430: *** IOUnit read from non-existent IO at $009a [java] MSP430: *** IOUnit read from non-existent IO at $009c [java] MSP430: *** IOUnit read from non-existent IO at $009e [java] MSP430: *** IOUnit read from non-existent IO at $00a0 [java] MSP430: *** IOUnit read from non-existent IO at $00a2 [java] MSP430: *** IOUnit read from non-existent IO at $00a4 [java] MSP430: *** IOUnit read from non-existent IO at $00a6 [java] MSP430: *** IOUnit read from non-existent IO at $00a8 [java] MSP430: *** IOUnit read from non-existent IO at $00aa [java] MSP430: *** IOUnit read from non-existent IO at $00ac [java] MSP430: *** IOUnit read from non-existent IO at $00ae [java] MSP430: *** IOUnit read from non-existent IO at $00b0 [java] MSP430: *** IOUnit read from non-existent IO at $00b2 [java] MSP430: *** IOUnit read from non-existent IO at $00b4 [java] MSP430: *** IOUnit read from non-existent IO at $00b6 [java] MSP430: *** IOUnit read from non-existent IO at $00b8 [java] MSP430: *** IOUnit read from non-existent IO at $00ba [java] MSP430: *** IOUnit read from non-existent IO at $00bc [java] MSP430: *** IOUnit read from non-existent IO at $00be [java] MSP430: *** IOUnit read from non-existent IO at $00c0 [java] MSP430: *** IOUnit read from non-existent IO at $00c2 [java] MSP430: *** IOUnit read from non-existent IO at $00c4 [java] MSP430: *** IOUnit read from non-existent IO at $00c6 [java] MSP430: *** IOUnit read from non-existent IO at $00c8 [java] MSP430: *** IOUnit read from non-existent IO at $00ca [java] MSP430: *** IOUnit read from non-existent IO at $00cc [java] MSP430: *** IOUnit read from non-existent IO at $00ce [java] MSP430: *** IOUnit read from non-existent IO at $00d0 [java] MSP430: *** IOUnit read from non-existent IO at $00d2 [java] MSP430: *** IOUnit read from non-existent IO at $00d4 [java] MSP430: *** IOUnit read from non-existent IO at $00d6 [java] MSP430: *** IOUnit read from non-existent IO at $00d8 [java] MSP430: *** IOUnit read from non-existent IO at $00da [java] MSP430: *** IOUnit read from non-existent IO at $00dc [java] MSP430: *** IOUnit read from non-existent IO at $00de [java] MSP430: *** IOUnit read from non-existent IO at $00e0 [java] MSP430: *** IOUnit read from non-existent IO at $00e2 [java] MSP430: *** IOUnit read from non-existent IO at $00e4 [java] MSP430: *** IOUnit read from non-existent IO at $00e6 [java] MSP430: *** IOUnit read from non-existent IO at $00e8 [java] MSP430: *** IOUnit read from non-existent IO at $00ea [java] MSP430: *** IOUnit read from non-existent IO at $00ec [java] MSP430: *** IOUnit read from non-existent IO at $00ee [java] MSP430: *** IOUnit read from non-existent IO at $00f0 [java] MSP430: *** IOUnit read from non-existent IO at $00f2 [java] MSP430: *** IOUnit read from non-existent IO at $00f4 [java] MSP430: *** IOUnit read from non-existent IO at $00f6 [java] MSP430: *** IOUnit read from non-existent IO at $00f8 [java] MSP430: *** IOUnit read from non-existent IO at $00fa [java] MSP430: *** IOUnit read from non-existent IO at $00fc [java] MSP430: *** IOUnit read from non-existent IO at $00fe [java] MSP430: *** IOUnit read from non-existent IO at $0100 [java] MSP430: *** IOUnit read from non-existent IO at $0102 [java] MSP430: *** IOUnit read from non-existent IO at $0104 [java] MSP430: *** IOUnit read from non-existent IO at $0106 [java] MSP430: *** IOUnit read from non-existent IO at $0108 [java] MSP430: *** IOUnit read from non-existent IO at $010a [java] MSP430: *** IOUnit read from non-existent IO at $010c [java] MSP430: *** IOUnit read from non-existent IO at $010e [java] MSP430: *** IOUnit read from non-existent IO at $0110 [java] MSP430: *** IOUnit read from non-existent IO at $0112 [java] MSP430: *** IOUnit read from non-existent IO at $0114 [java] MSP430: *** IOUnit read from non-existent IO at $0116 [java] MSP430: *** IOUnit read from non-existent IO at $0118 [java] MSP430: *** IOUnit read from non-existent IO at $011a [java] MSP430: *** IOUnit read from non-existent IO at $011c [java] MSP430: *** IOUnit read from non-existent IO at $0122 [java] MSP430: *** IOUnit read from non-existent IO at $0126 I was having the latest version of msp, I removed it to install instead an older version(shown below), however I am getting always the same error: ii binutils-msp430 2.17-2 Binutils for MSP430 targets ii gcc-msp430 3.2.3-2 GCC for MSP430 targets ii gdb-msp430 3.2.3-1 GDB for MSP430 targets ii msp430-jtag 0.0.20061017 MSP430 JTAG programmer ii msp430-libc 20071026 C library for MSP430 targets Please advise. Yours sincerely, Mustapha |
From: <ni...@ly...> - 2012-04-17 13:06:40
|
Hello, I'm trying to develop and test code for MSP430F5510, using msp430-gcc and mspsim. I'm doing some crypto code which needs bignum operations, so using the hardware multiplier is important. I have some working code using the 16x16 bit multiplier. I then compile for msp430x1611, and I can run the resulting formware in the simulator using se.sics.mspsim.platform.sky.SkyNode. Seems to work fine, and I really appreciate the builtin debugging and profiling support of mspsim (I have also tried remote debugging with gdb, which would be even better, but I couldn't get that to work reliably). Now, I'd like to be able to use the 32-bit multiplier. But there are some obstacles: 1. I'm not sure which processor to build for and which platform to use. The closest I find in the simulator is MSP430F5437 (I'm new to this architecture, and I have no good idea on how it differs from the ...5510). In mspsim, the platform tyndal.TyndalNode seem to use this processor. Is this a good choice? 2. Looking at the file core/Multiplier32.java, it seems that the implementation is not complete. 3. The serial hardware seem to be different (different hardware registers, maybe more fundamental differences too?) than on msp430x1611. To get data out on the serial port, I use the file tests/msp430setup.c which among other things implements putchar. But this code doesn't work if I compile for msp430f5437 or msp430f5510, I get compilation errors when accessing various hardware registers. Any help or suggestions on how to make progress is appreciated. My current impression is that completing Multiplier32.java should not be a big deal. I have a lot less clue on how to access the serial port, for putchar. Regards, /Niels Möller -- Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. |