Hot![Resolved] PIC16F1827 - Linear Data Memory Addressing

Author
rickford66
Super Member
  • Total Posts : 467
  • Reward points : 0
  • Joined: 2008/06/23 14:21:30
  • Location: 0
  • Status: offline
2017/12/07 11:49:14 (permalink)
0

[Resolved] PIC16F1827 - Linear Data Memory Addressing

Hello,
I'm not sure I understand the Linear Data Memory.  Page 113 in the datasheet, section 3.5.2, says that there is 0x2000 to 0x29AF available (2479 bytes), yet it says "Unimplemented memory reads as 0x00." Page 1 of the datasheet says there are 384 bytes of Linear Data Memory Addressing.  If there are just 384 bytes, why would you ever have to read, or even advertise as available, the unimplemented RAM?  Is it available or not?
Thanks.
post edited by rickford66 - 2017/12/07 12:40:44
#1

3 Replies Related Threads

    qɥb
    Monolothic Member
    • Total Posts : 2486
    • Reward points : 0
    • Joined: 2017/09/09 05:07:30
    • Location: Jupiter
    • Status: online
    Re: PIC16F1827 - Linear Data Memory Addressing 2017/12/07 12:14:26 (permalink)
    +1 (1)
    You only have 384 bytes of Linear RAM available.
    Section 3.5.2 is describing the common architecture used in all PIC16F1xxx chips to access RAM in a linear fashion.
    When you look in table 3-3, you can see there's nothing there from half-way through bank 4 up to bank 30.
     

    PicForum "it just works"
    #2
    jack@kksound
    code tags!
    • Total Posts : 2511
    • Reward points : 0
    • Joined: 2014/05/14 10:03:19
    • Location: 0
    • Status: offline
    Re: PIC16F1827 - Linear Data Memory Addressing 2017/12/07 12:21:00 (permalink)
    +1 (1)
    The Linear address space from x2000 to x29AF is the address space set aside for this type of RAM access in all the pic16 enhanced parts that impliment this memory access option, not all pic16F parts impliment the same amount of RAM. The RAM is segmented into pages, each page having, among other things like SFRs, an 80 byte RAM section (general purpose registers). The Linear space allows linear access (usually with the FSR registers indirect addressing) to these 80 byte blocks without having to worry about bankselect (block) settings. Each part datasheet will describe which blocks are implimented. 
    Unimplimented RAM is not there, if you read that address you will always get a zero (0x00).
    #3
    rickford66
    Super Member
    • Total Posts : 467
    • Reward points : 0
    • Joined: 2008/06/23 14:21:30
    • Location: 0
    • Status: offline
    Re: PIC16F1827 - Linear Data Memory Addressing 2017/12/07 12:39:13 (permalink)
    0
    Ok, that makes perfect sense.  Thanks.
     
    #4
    Jump to:
    © 2018 APG vNext Trial Version 4.5