Author Topic: M5282 Development News  (Read 14241 times)

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
M5282 Development News
« on: April 26, 2010, 07:44:17 PM »
Hi All

Due to some interest in running the uTasker on the M5282 some work has been started to prepare this.
First of all - this is quite an old Coldfire device, available in 256 MAPBGA (making it quite expensive too). At the moment there are some patent problems due to the housing which restricts the device in the USA (should be lifted October 2010).

Belonging to this family there are the following devices:
•   M5214 – 64k SRAM and 256k FLASH; CAN but no Ethernet
•   M5216 – 64k SRAM and 512k FLASH; CAN but no Ethernet
•   M5280 – 64k SRAM but no FLASH
•   M5281 – 64k SRAM and 256k FLASH
•   M5282 – 64k SRAM and 512k FLASH

They all have a 32 bit wide external memory interface allowing SDRAM, which is their biggest attraction or a high port count when not used, or only partially used.

The development is being documented (in form of a developer's guide specifically to explain its main differences to the M522XX devices). This can be found and monitored here: http://www.utasker.com/docs/documentation.html#M5282

At the moment the development is being performed exclusively in the uTasker simulator (with some useful code references from a uTasker project already running on it - thanks Andrija) while a development board is organised.

Comments are welcome, as are developers who would like to test the new support on their existing HW.

Regards

Mark


Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: M5282 Development News
« Reply #1 on: May 01, 2010, 03:05:35 PM »
Hi All

The uTaskerV1.4-3-M5282Beta-0 project package is ready for use by M5282 Beta testers.

It can be downloaded from http://www.uTasker.com/software/V1.4/uTaskerV1.4-Beta5282-0.zip

As well as support for the M5282 (also simulation) the following features are included:
- IPV6 configuration and local ping tests
- SNMPV1 and V2 included SNMP directory
- utFATV1.1
- Simulation projects includes VS6, VS2008 and VS2010 projects

This is in addition to all up-to-date patches, which are detailed in the change-note included in the package.
This is a forerunner of a new release for the M522XX.

Please post feedback here and monitor the M5282 development document for most up-to-date M5282 implementation status.

Regards

Mark



Offline oneFranck

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: M5282 Development News
« Reply #2 on: May 12, 2010, 05:44:54 PM »
Hi Mark,
I'm interested to download and run the 5282 beta test on CodeWarrior, but its asking me a password when unzipping the file.  Should I become an official beta-tester?

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: M5282 Development News
« Reply #3 on: May 12, 2010, 08:16:19 PM »
Hi Francois

The M5282 Beta package has the same password as the Coldfire project.

If you are new to the project simply sign up here: http://www.utasker.com/Licensing/request.html

Regards

Mark

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: M5282 Development News
« Reply #4 on: May 13, 2010, 02:16:04 AM »
Hi All

Since I just received an M5282LITE board I had a go to see what works and what not.

1) I am not sure about the FLASH just yet. Somehow I seem to have managed to program it with a mixture of using CF Flasher and CodeWarrior - by not negating RCON it then starts in single-chip mode and runs the code. Somehow it seems that I also managed to delete the dBUG code in the external FLASH memory because that stopped working, even when all jumpers were set to allow it to boot from external memory in master mode...

2) Ethernet seems to work (ping, FTP, TELNET, Web server) - also web pages could be copied by FTP.

3) UART0 didn't work. So I disabled DMA transmission (remembering that Andrija noted something about this - http://www.utasker.com/forum/index.php?topic=886.msg3902#msg3902) and then it did. At least the TX did - the receive path didn't just yet.

4) Since I am also working on IPV6 (see http://www.utasker.com/forum/index.php?topic=906.msg4042#msg4042) I also tried using the new board as a 6in4 relay for my local network. It sort of partly worked but caused some strange problems. After studying the content a bit more I realised that, when relaying Ethernet frames, it was sending 4 bytes more than it should. By reducing the relayed frame sizes by this amount it then worked nicely. This suggest that the FEC is reporting a received length 4 bytes longer than it really is, which may be due to a slightly different configuration to other Coldfire types (because this is presumably the CRC32 at the end) or else it may be that this is always the case but doesn't disturb when not actually relaying....
[Note added: this is not M5282 specific since all Coldfire FECs save the CRC32 in the last buffer]

Not that bad I suppose for a first shot, but the FLASH is still a bit confusing; at least the memory models shown when trying to work with the setups in Codewarrior - I just used the M52235 setup in the end when it was in single-chip mode.
What I did notice is that there are a number of Erratas for the chip, including some for Ethernet; particularly for 10M mode. These will need to be worked through to see whether there is need for some special treatment.

Regards

Mark
« Last Edit: May 13, 2010, 02:43:59 AM by mark »

Offline oneFranck

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: M5282 Development News
« Reply #5 on: May 26, 2010, 09:46:28 PM »
Hi Mark,

the beta-demo webserver works well on our M5282EVB, but the Ethernet does'nt seems to work on the 5282LITE.  I know their PHY devices are not the same (LITE:ks8721b and EVB:am79c874).  Any Define I should check to get it working on the 5282LITE?

FB

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: M5282 Development News
« Reply #6 on: May 26, 2010, 10:07:27 PM »
Hi

That is strange - I have only the LITE to test on and this worked with my code.

These are the only differences between the PHY configurations between the EVB and the LITE boards:

#elif defined M5282EVB                                                   // {68}
    #define PHY_ADDRESS            0x01                                  // address of external PHY on board
    #define PHY_INTERRUPT          2                                     // IRQ2 is used as PHY interrupt input
    #define PHY_IDENTIFIER         0x0022561b                            // AMD Am79C875VC identifier
    #define FNRESETPHY()
    #define MII_MANAGEMENT_CLOCK_SPEED    2500000                        // standard speed
#elif defined M5282LITE                                                  // {68}
    #define PHY_ADDRESS            0x01                                  // address of external PHY on board
    #define PHY_INTERRUPT          6                                     // IRQ6 is used as PHY interrupt input
    #define PHY_IDENTIFIER         0x00221619                            // MICREL KS8721B identifier
    #define FNRESETPHY()
    #define MII_MANAGEMENT_CLOCK_SPEED    2500000                        // standard speed


(Note that your version will not need the MII_MANAGEMENT_CLOCK_SPEED setting - I added it to get the project working with the M52259 TOWER since it has a back-plane and weak MDO pull-up, which needs the clock slowed down otherwise the signal doesn't have time to rise to '1').

I am happy to hear that the EVB config seems to work. Maybe you can identify whether the PHY_IDENTIFIER is not matching and causing the Ethernet configuration to be aborted?

Regards

Mark

Offline oneFranck

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: M5282 Development News
« Reply #7 on: May 26, 2010, 10:33:14 PM »
Hi Mark,

I've made a search for 5282LITE in the project and there is no such define in my project.  Only M5282EVB is defined, as I can see.  Maybe I'm missing some code.

regards,

Francois

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: M5282 Development News
« Reply #8 on: May 27, 2010, 12:04:44 AM »
Hi Francois

OK - that explains it. The Beta was only tested in the simulator with EVB target - I didn't have HW at the time but expected to get the EVB.

Finally I got the LITE board and so made a configuration, which worked as described in this thread. There are the changes:

1) In config.h add an optional target and select it instead of the EVB one:   

#define M5282LITE                                                // LITE Board for M5282

...
    #elif defined M5282LITE
        #define TARGET_HW       "M5282LITE"
...

2) In app_hw_m523x.h add the following:

#elif defined M5282EVB || defined M5282LITE
    #define CHIP_256_PIN
    #define _M5282     


and

        #elif defined M52259DEMO || defined M52259EVB || defined M5282EVB || defined M5282LITE
            #if defined M52259EVB && defined NVRAM                       // file system is in NVRAM
                #define SIZE_OF_NVRAM (256*1024)
                #define PARAMETER_BLOCK_START (SIZE_OF_FLASH - PAR_BLOCK_SIZE) // parameters at end of internal FLASH
                #define uFILE_START SIZE_OF_FLASH                        // NVRAM located after internal FLASH
                #define SINGLE_FILE_SIZE (1*FLASH_GRANULARITY)           // each file a multiple of 4k
                #define FILE_SYSTEM_SIZE (SIZE_OF_NVRAM)                 // 256k reserved for file system
            #else
                #define PARAMETER_BLOCK_START 0x21000                    // {45} FLASH location at 132k start
                #define uFILE_START 0x23000                              // FLASH location at 140k start
                #define SINGLE_FILE_SIZE (1*FLASH_GRANULARITY)           // each file a multiple of 4k
                #define FILE_SYSTEM_SIZE (93*SINGLE_FILE_SIZE)           // 374k reserved for file system
            #endif


and

// LAN interface
//
#ifdef ETH_INTERFACE
    #define LAN_REPORT_ACTIVITY                                          // transmissions/receptions and errors are reported to chosen task (for link LED control, etc)

    #if defined LAN_REPORT_ACTIVITY
        #if defined _M5225X || defined M5282EVB || defined M5282LITE //  - no LEDs since external PHY controls them
            #define ACTIVITY_LED_OFF()     
            #define ACTIVITY_LED_ON()     
            #define TURN_LINK_LED_ON()     
            #define SPEED_LED_ON()         
            #define SPEED_LED_OFF()       
            #define LINK_DOWN_LEDS()       


(only needed if LAN_REPORT_ACTIVITY is active)

and

#elif defined M5282LITE
    #define PHY_ADDRESS            0x01                                  // address of external PHY on board
    #define PHY_INTERRUPT          6                                     // IRQ6 is used as PHY interrupt input
    #define PHY_IDENTIFIER         0x00221619                            // MICREL KS8721B identifier
    #define FNRESETPHY()
    #define MII_MANAGEMENT_CLOCK_SPEED    2500000                        // standard speed

#elif defined M5208EVB                                                   // {69}
    #define SCAN_PHY_ADD                                                 // PHY address is not defined exactly so it is scanned
  //#define PHY_ADDRESS            0x01                                  // address of external PHY on board
  //#define PHY_INTERRUPT          1                                     // not used
    #define PHY_IDENTIFIER         0x20005c90                            // National DP83848 identifier
    #define FNRESETPHY()         //RESET_RCR &= ~FRCRSTOUT;              // no hardware delay since it is very long - just release reset line
    #define PHY_POWERUP_DELAY      (0.150 * SEC)                         // plus 50ms task delay to give > 167ms
    #define MII_MANAGEMENT_CLOCK_SPEED    2500000                        // standard speed



Regards

Mark

Offline oneFranck

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: M5282 Development News
« Reply #9 on: May 27, 2010, 10:57:15 PM »
allright, thanks for the clear indications.  It is working now on the M5282LITE board.

Frank


Offline oneFranck

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: M5282 Development News
« Reply #10 on: July 26, 2010, 08:08:33 PM »
what's your thoughts about 10baseT on the MCF5282? Despite the silicon bug mentioned in the device errata document, could we say it supports 10baseT Ethernet based on anyone's experiences?

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: M5282 Development News
« Reply #11 on: July 27, 2010, 02:47:29 PM »
Hi Frank

The M5282 has the same Ethernet controller as the other parts and these support both 10M and 100M. Therefore 10M operation should be fine.
Since there is an external PHY involved, any differences could be explained by this - although all tend to do 10M and 100M.

Regards

Mark