I have a strange bug. I have a ARM exception every 34 minutes. I use a Q2686H with the new 6.61 os. Here is the backtrace :
ADS Bckt -------> ADS BACK TRACE <-------
ADS Bckt The function corresponding to this address : 0x70036002, is not in the .axf file
Trace SYS 1 Current OAT Task index : 0
Trace CUS4 1 ARM Data Abort at 0023D8A2, Current Task 0x1B
ADS Bckt -> memcpy : 0x0023D8A2
ADS Bckt -> Unresolved symbol : 0x000C4145
I take a look a all the memcpy in my code… I remove them all and I receive always the same error…
Let me guess, you have a one second timer which calls the adl_cmdCreate() function every time. It is some kind of memory leakage problem int the “opic_api_oat.c” code. Please remove the adl_cmdCreate() from your code and give it a try.
I noticed this bug in beta version of 4.10, but i am totally angry that the final version still features this bug. I don’t use now fast cyclic adl_cmdCreate() procedures in my code, and now it looks stable. (tested for max. a week).
And another bug which i noticed today, when i try to send something on the I2C bus the module just stops and the game is over. No error messages no watchdog reset, no exception reset. I say what the hell? I guess the problem is that i tried it on the starter kit, and it has no pull-ups on the I2C pins. But it can’t be handled in a good manner in 2006?
I use adl_atCmdCreate to update adc values in my ram registry every second (tom you are right !) and every 30 seconds to update network operator and so. I make a test now without calling adl_atCmdCreate in a timer and I post the result.
We are also updating values about every 30 seconds… So, if the problem still exists even when not using a 1 second timer, then we maybe could have the crash just later, like in 30*34 minutes = about 17 hrs… Then I really hope our battery doesn’t last that long…
does anyone knows if this happens also in the 6.60 firmware-version with OpenAt 4.40? Could it also happens during reading the ports with the adl_ioReadingSingle - function?
Tom wrote: “I don’t use now fast cyclic adl_cmdCreate() procedures in my code, and now it looks stable. (tested for max. a week).” In which cycle do you use commands like CREG, ADC, CMGR…?
A year after the first firmware version there should not be such mistakes anymore…
The Open AT 4.00 with OS 6.60 has not this bug. But the WIP libary was quite unstable on OS 6.60 for me.
AT+CREG,AT+CGREG: you can safely monitor this values through the unsolicited messages (+CREG:, +CGREG:) In this case, you are informod instantly about the network registration changes.
AT+CMGR: Use the SMS ADL api to handle SMS messages.
AT+ADC, CSQ, … : I don’t know what to do with this command.
I will run some test about this problem, and i will write down my experienes. Maybe somehow we can by-pass this.
If it’s to be released in March 2007, then it should be out for beta testing by now too.
Can anyone confirm that they have actually fixed this problem?
Judging by other posts in this thread it is likely that a new SDK is needed with updated OAT/ADL libraries.
It’s the bug identifier. Wavecom has release the 4.12 version with the patch for this command. Apparently, not other modifications was introduced in this release.
Got my hands on 4.12 now and judging from the description in the release notes it’s adl_atCmdCreate that is not releasing allocated memory after processing. (the notes say something about after a number of calls, the heap memory gets filled and module is restarted)
Quite stupid bug that should have been caught long before 4.1x was released at all.
“TT anomaly CUS36968” means that they’ve tracked the issue under this ID and to really know if they have corrected it in the next firmware you have to read carefully the FW or OS release note and see if this tracker is mentionned in the corrected issue paragraph!!
I don’t know about ADC, but you can enable unsolicited +CSQ: with the AT+CCED command…
But, as noted here wavecom.com/modules/movie/sc … php?t=1171 it would really be better if Wavecom provided a proper API for this stuff - rather than all this messing about with AT commands…
Well, you’re right, but on the other hand, that would double the firmware size, and the work… everything would be implemented twice, once in ADL and once in AT interface.
I’d better like Wavecom spending their time fixing bugs.