Hy,
i decided to write (copy and paste ;-) ) an new driver for the 
snowflake-class because:
   - stellaris driver is using registers dc0 and dc1 to determine the 
device capabilities such as the flash size
     these registers don't exist anymore at the TM4C129 (and only exists 
as legacy regs at the TM4C123)
  - stellaris driver is using registers rcc, rcc2, ... to determine the 
system clock speed settings
     these registers don't exist at the TM4C129
  - stellaris driver is using register usecrl to set flash controller timing
     this register dont't exist at the TM4C129, here memtim0 reg ist 
used to configure waitstates
  - stellaris driver assumes 1k flash pages
    16k pages in TM4C129 (TM4C123 have 1k pages)
  - page locking (flash protect) in stellaris driver:
    1 bit in FMPPE register is controlling 2 pages (driver has variable 
pages_in_lockregion)
    in TM4C129: 8 bits of FMPPEx (must be of the same value) are 
controlling 1 page
    so driver should perhaps have a lockbits_per_page variable? (reverse 
logic)

Because of this serious differences i "wrote" the tiva.c driver.

Currently the tiva-driver don't supports flash protection (i'm not using 
it) => "old" stellaris code kept in driver
needs to be refactored to handle 8bits of PMPPEx per page

Write and erase functions of the stellaris driver are updating flash 
controller timing
tiva_set_flash_timing isn't implemented (rcc register are missing, more 
complex clock setting in the TM4C129) => a warning is reported
Perhaps we could omitt flash timing settings, using the TivaWare 
driverlib functions to set the sysclock also sets (update) correct flash 
controller timing

Heinz

> Howdy,
>
>       A quick look at the code, there is a brand new tiva.c driver, which
> looks like a cleaned up version of the stellaris.c with support for the
> tiva family (the tiva-snowflake platform has been added) and room to have
> more Tiva parts supported.
>
> Personally I like it this way, for the Tiva family to have tiva.c driver,
> and the older stellaris family to have its own stellaris.c.
>
> The only thing is that the new patch also work with the tiva launchpad
> TM4c123xgl  ( which is a rename of the stellaris F120), but i dont see it
> "Literally" in the code of tiva.c. Most probably they both work the same
> way I guess. It will be nice to have the TM4C123XGL added to the new
> tiva.c, this way and finally the 2 families are separated in a cleaner 
> way.
> So you can have tiva_icdi.cfg (using tivac driver) and stellaris_icdi.cfg
> (using legacy stellaris driver). As stated in the patch one family 
> uses 1K
> flash-page and the newer one uses 16K flash-page (most probably thats why
> it is faster download???).
>
> This is just a quick observation.
>
> Cheers./
>


------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to