We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Load "C:\\Keil\\C51\\Examples\\Chipcon\\RF\\halRFtest\\halRFtest_433" *** error 65: access violation at I:0x80 : no 'write' permission
616: INT_SETFLAG(INUM_TIMER0,INT_CLR); C:0x13BF C28D CLR TF0(0x88.5)
Memory Map 001: I:0x00 - I:0x7F read write 002: C:0x0000 - C:0xFFFF exec read 003: X:0x000000 - X:0x00FFFF read write
error caused by Timer0 ISR trying to clear the timer overflow flag at TCON^5, when I try to reset Memory to what the User's Guide calls for.
0x000000 - 0x00FFFF read/write this should be IDATA that overlaps the SFR's right? 0x010000 - 0x01FFFF read/write this is XDATA 0xFF0000 - 0xFFFFFF exec read this is CODE
I have try'ed to enter the default map for small memory model using DeBug > Memory Map but keep getting error:invalid address range given.
what could have caused the change in the memory map and how should i change it back, please help
Calvin
Eric, actually there are 2 buttons being polled one cycles options the second selects the chosen option, the timer0 interrupt is started before entering the polling loop and select ends timer0 and breaks; from input loop.
What does OP stand for?????
what about my problem------------------------- error 65:access violation at I:0x80 ; no"write" permission
this should be the SFR space 0x80 - 0x7F ? as defined by the SMALL memory model right ?
the (or is it just 'my') standard means of debouncing buttons is as follows
set a timer to interrupt at (maximum bounce time + fudge)
In the ISR read the buttons and only report the change (to a global variable) if the button has read the same two consqutive times. Then, in the main act upon that global variable.
error 65:access violation at I:0x80 ; no"write" permission two possibilities a) you have chosen parametres that specify a derivative with no idata (e.g. a traditional 8051) b) you are trying to (re)set SFRs or SFR bits with syntax not acceptable to Keil. e.g. a SFR must be defined as 'SFR' not 'data'
Erik
Original Poster i.e. whoever presented the problem.
I:0x80 [...]this should be the SFR space 0x80 - 0x7F ? as defined by the SMALL memory model right ?
No. The "I:" prefix means it's IDATA, not SFRs. What this means is that your debugger memory map is set up for a real 128-byte RAM 8051 device, but your program was built to run on a bigger (256-byte) variant. One of the two is wrong. You figure out which. Pay special attention to your startup code