Skip to main content
edxxgardo
Associate II
September 19, 2011
Question

STM32 P107 Olimex and RTX Keil kernel

  • September 19, 2011
  • 3 replies
  • 819 views
Posted on September 19, 2011 at 15:59

Hi everybody,

I really hope you can give me a help with the following question:

I have an Olimex STM32 P107 board and I want to use the RTX Kernel from Keil using the uVision compiler. The problem is the PHY Controller, a STE101P, for which there is no driver provided in  the ARM Keil compiler package.  From the Olimex site I can download a driver, but this is used along with uIP stack and IAR compiler. I checked some similar driver in the Keil directory from other manufacturers, but I couldn't find any similar. Porting the driver is not an easy task. First, I would like to get any tips from you, otherwise I have to dig into the code and see how much I can do. Thanks in advance,
    This topic has been closed for replies.

    3 replies

    Andrew Neil
    Super User
    September 19, 2011
    Posted on September 20, 2011 at 00:42

    ''Porting the driver is not an easy task''

    Why not?

    A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
    aqueisser
    Associate III
    September 20, 2011
    Posted on September 20, 2011 at 17:13

    The PHY register sets are pretty similiar, you could probably use the examples from here, which use the same micro, or at least the same Ethernet peripheral:

    C:\Keil\ARM\Boards\ST\STM3210C-EVAL\RL\TCPnet

    C:\Keil\ARM\Boards\Keil\MCBSTM32C\RL\TCPnet

    Compare the register map of your PHY with the one used on the STM3210C-EVAL and MCBSTM32C and I bet  it's almost identical. The examples above might just work unchanged.

    Andrew

    edxxgardo
    edxxgardoAuthor
    Associate II
    September 23, 2011
    Posted on September 23, 2011 at 10:01

    Thanks a lot for the help. I really appreciate it. I said ''not easy'' just because I thought I had to change to much the code, but after having a look in details I see that they look similar.

    Cheers,