Skip to main content
Visitor II
February 15, 2005
Question

Bugs in STR71x software library

  • February 15, 2005
  • 8 replies
  • 1407 views
Posted on February 15, 2005 at 10:37

Bugs in STR71x software library

    This topic has been closed for replies.

    8 replies

    Visitor II
    February 2, 2005
    Posted on February 02, 2005 at 12:48

    Hi,

    I would like to report 2 bugs in the STR71x software library.

    Both are in the BSPI module.

    void BSPI_ClkFEdge(BSPI_TypeDef *BSPIx, FunctionalState NewState)

    is ''inverted''. When setting it to ENABLE it gets DISABLEd and vice versa.

    FlasgStatus BSPI_FlagStatus(BSPI_TypeDef *BSPIx, BSPI_Flags flag)

    doesn't reurn the correct value. (because of a faulty equal sign in the function)

    Are there any list of known bugs in the library?

    Regards

    /Beach/

    PS.

    I must say that I like this 'simple' lib.

    Grouping all registers of a hardware module into a structure makes the code very nice looking. :D

    DS.

    Visitor II
    February 4, 2005
    Posted on February 04, 2005 at 16:41

    Hi,

    thanks.

    This clarifies the problem I had with a MMC card connected via the BSPI. Due to the reported bug a read followed by a write access occurs. If between both accesses the BSPI changes the addressed flag then the write operation can corrupt this flag.

    Regards

    Visitor II
    February 7, 2005
    Posted on February 07, 2005 at 06:57

    Found another ''bug''.

    In the file tim.h the line

    #define TIM_OCBIE_mask 0x0080

    should be

    #define TIM_OCBIE_mask 0x0800

    /Beach

    Visitor II
    February 7, 2005
    Posted on February 07, 2005 at 09:59

    Hello Beach,

    You are right this is a STR71x BSPI library mistake and it will be corrected in the next release.

    Thank you and best regards

    Hich :p

    [ This message was edited by: Hich on 07-02-2005 14:30 ]

    Visitor II
    February 7, 2005
    Posted on February 07, 2005 at 13:16

    Yet another bug in the BSPI module.

    void BSPI_TrFifoDepth(BSPI_TypeDef *BSPIx, u8 TDepth)

    and

    void BSPI_RcFifoDepth(BSPI_TypeDef *BSPIx, u8 TDepth)

    should accept depth values 1-10, but will only accept 1-9.

    10 will set the depth to 1.

    /Beach

    Visitor II
    February 9, 2005
    Posted on February 09, 2005 at 05:08

    Hello Beach,

    Thank you,I think you can be a best approver ;)

    All your comments will be corrected in the next release.

    With regards,

    Hich :p

    Visitor II
    February 14, 2005
    Posted on February 14, 2005 at 11:08

    Hi,

    I found also a bug in the flash library in the function :

    void FLASH_FlagClear(flashflags Xflag)

    When for example, you have :

    FLASH_FlagStatus(FLASH_BSY0) in the WaitForLastTask(flashbanks Xbank) function.

    FLASH_BSY0 = 0x21;

    So the TempReg variable is egal to 1. So the case value for CR0 register should be ''1'' and not the ''0'', and so on ...

    The Lock bit in FLASH_CR0 register is not tested, it should also be tested ???

    Why do I need to make a wait loop to wait the end of the write to flash execution. When the Lock bit is set all the flash is blocked, when it's released then I could write another byte, and so on...

    Best regards

    OneR

    Visitor II
    February 15, 2005
    Posted on February 15, 2005 at 10:37

    Hello OneR,

    Yes you are right, but this bug is already detected and corrected in the V2.0, it will be published soon.

    With regards,

    Hich. :p