Hi,
The ARMweb memory map shows program space from $68000 to $78000. Thats 64K. Now when I load my program, if its over 32KB download, the program crashes. Any ideas?
Thanks
Program Memory ARMWeb
Re: Program Memory ARMWeb
What version of the compiler are you using, and what version of firmware?
The latest firmware version is on this page
www.coridium.us/forum/viewtopic.php?f=10&t=573
The latest version of the compiler is at the tech support page at coridum.us
The latest firmware version is on this page
www.coridium.us/forum/viewtopic.php?f=10&t=573
The latest version of the compiler is at the tech support page at coridum.us
Re: Program Memory ARMWeb
I suspect your compiler on the PC is an earlier version, I just ran a test program up to 67K of space. Version 8.23e posted below
- Attachments
-
- ARMbasic.exe
- version 8.23e of the compiler
- (116.55 KiB) Downloaded 1246 times
Re: Program Memory ARMWeb
Finally got around to installing the new version. Now have plenty of program memory. Thanks
I've had to modify a few lines of code:-
This used to work: If (LastPumpStatus <> PumpStatus) AND (PrintFlags And 2) Then Print "p";PumpStatus,Hour(-1);":";Minute(-1);":";Second(-1)
but now if printflags is ANY non zero number it will print. IT seems the bitwise AND doesn't work in a compound IF. So i've changed it to :-
i = PrintFlags And 2
If (LastPumpStatus <> PumpStatus) AND i = 2 Then Print "p";PumpStatus,Hour(-1);":";Minute(-1);":";Second(-1)
yet
If (PrintFlags AND 1) Then
print PondMode;" ";PwrCnt(0);" ";TapPosition;" ";PondSwSample>>12
endif
still works fine.
Also
alarmstr = Str(Day(0)) + "/" + Str(Month(0)) + "/" + Str(Year(0)) + "," + STR(SolarPower) + "," + STR(Avstepshr512) + "," + STR(LongtermInsideTemp256) + "," + STR(LongtermOutsideTemp512) + "," + STR(MaxTemp4)
mail(alarmstr)
print(alarmstr)
used to work but now it says "send mail success", and I recieve an email, but with no content. yet it prints to txta.htm. If alarmstr is a simple comment like "error", then its OK. But I dn't really need this line anymore.
Last, I can't get this to work:-
DIM TE(1024) as byte
DIM HD(2048) as byte
DIM F(256) as byte
Write(&H7C000,F,0)
Write(&H7C000,F,256)
Write(&H7C400,TE,1024)
Write(&H7B000,HD,0)
Write(&H7B000,HD,2048)
Fread($7C400,TE,1024)
Fread($7C000,F,256)
Fread($7B000,HD,2048)
TE and F work fine, but HD always returns an ereased sector(all bits set) without anything written . Am I overlooking something?
By the way, do we still upload programs/project info to the yahoo group. I've written a CRC check for Dallas one-wire parts, and an automatic cgi RTC clock synch. Also I use txta.htm as an iframe as part of my web page.
I've had to modify a few lines of code:-
This used to work: If (LastPumpStatus <> PumpStatus) AND (PrintFlags And 2) Then Print "p";PumpStatus,Hour(-1);":";Minute(-1);":";Second(-1)
but now if printflags is ANY non zero number it will print. IT seems the bitwise AND doesn't work in a compound IF. So i've changed it to :-
i = PrintFlags And 2
If (LastPumpStatus <> PumpStatus) AND i = 2 Then Print "p";PumpStatus,Hour(-1);":";Minute(-1);":";Second(-1)
yet
If (PrintFlags AND 1) Then
print PondMode;" ";PwrCnt(0);" ";TapPosition;" ";PondSwSample>>12
endif
still works fine.
Also
alarmstr = Str(Day(0)) + "/" + Str(Month(0)) + "/" + Str(Year(0)) + "," + STR(SolarPower) + "," + STR(Avstepshr512) + "," + STR(LongtermInsideTemp256) + "," + STR(LongtermOutsideTemp512) + "," + STR(MaxTemp4)
mail(alarmstr)
print(alarmstr)
used to work but now it says "send mail success", and I recieve an email, but with no content. yet it prints to txta.htm. If alarmstr is a simple comment like "error", then its OK. But I dn't really need this line anymore.
Last, I can't get this to work:-
DIM TE(1024) as byte
DIM HD(2048) as byte
DIM F(256) as byte
Write(&H7C000,F,0)
Write(&H7C000,F,256)
Write(&H7C400,TE,1024)
Write(&H7B000,HD,0)
Write(&H7B000,HD,2048)
Fread($7C400,TE,1024)
Fread($7C000,F,256)
Fread($7B000,HD,2048)
TE and F work fine, but HD always returns an ereased sector(all bits set) without anything written . Am I overlooking something?
By the way, do we still upload programs/project info to the yahoo group. I've written a CRC check for Dallas one-wire parts, and an automatic cgi RTC clock synch. Also I use txta.htm as an iframe as part of my web page.
Re: Program Memory ARMWeb
A number of years ago the compiler was changed to handle logical/bitwise operations with left to right scanning. What that means is any operation is treated as bitwise until a logical operation is encountered. BASIC is ambiguous in its handling of bitwise/logical operations. As you've found when you leave it up to the compiler, you can be at its mercy. This applies in general and if you were moving code from a PC for example to an embedded processor, these types of operations lead to porting errors. C handles this with & and && for bitwise and logical operators. You can force the same by using functions
function BitwiseAND( a, b )
return a AND b
end function
The left to right scanning also applies to floating point vs integer operations.
I'd have to see the context of the write to Flash. The firmware used a simple algorithm to erase sectors during a WRITE. It now allows you to control the erase with the 2 low bits of the address being written to (details in the help files)
As for the Yahoo Forum, it is becoming extinct. Yahoo never did search it well (pretty bad for a search engine company). There use to be links from your Yahoo page, then it moved to a secondary page, and now its disappeared altogether. The only way to even get to it is with a bookmark or searching for it.
You can include files here much easier than before, and they are searchable by all search engines. I look forward to seeing some post in the projects section here.
function BitwiseAND( a, b )
return a AND b
end function
The left to right scanning also applies to floating point vs integer operations.
I'd have to see the context of the write to Flash. The firmware used a simple algorithm to erase sectors during a WRITE. It now allows you to control the erase with the 2 low bits of the address being written to (details in the help files)
As for the Yahoo Forum, it is becoming extinct. Yahoo never did search it well (pretty bad for a search engine company). There use to be links from your Yahoo page, then it moved to a secondary page, and now its disappeared altogether. The only way to even get to it is with a bookmark or searching for it.
You can include files here much easier than before, and they are searchable by all search engines. I look forward to seeing some post in the projects section here.