This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Question : The Definitive Guide to the ARM Cortex-M3

Note: This was originally posted on 11th December 2007 at http://forums.arm.com

Dear, all.

I am new in this forum.
Recently I studying Cortex-M3 core, so I bought book "The Definitive Guide to the ARM Cortex-M3" by Joseph Yiu.
This book is very good book and this explains most of unaswered questions by TRM or AALRM.

As I found some mistake in this book, I would like to feedback, but I could not find publisher's homepage. Then I found Josephe's name in this forum, I would like to ask here.

In page 42, there is fig 3.11 and 3.12 but this contents is same as fig 3.8 and 3.9.
Fig 3.8 and 3.9 should be some program list.

Can I get correct figure? Or where I should contact?
Please advise.

Kenichi
  • Note: This was originally posted on 12th December 2007 at http://forums.arm.com

    Hi Kenichi,

    Yes, it is an editorial error. When I emailed the editor to update two diagrams I didn't know the figure numbers were changed so the diagrams were misplaced. :-(
    I am sorry for the problem.
    I attached the errata document of the book that are spotted so far. Hope you answered your questions.  If you have further question feel free to post it here.

    Joseph
  • Note: This was originally posted on 13th December 2007 at http://forums.arm.com

    Dear, Joseph.

    Thank you very much for this errta document.

    If I have furtehr question regarding your book, I will post here again.

    I appriciate your quick help.

    Regards.
    Kenichi
  • Note: This was originally posted on 24th January 2008 at http://forums.arm.com

    Dear, Josephe.

    Sorry for the late responce, I was out of office last days...

    I could confirm that by application level reference manuel.
    Thank you very much for your help.

    Regards.
    Kenichi
  • Note: This was originally posted on 16th January 2008 at http://forums.arm.com

    Dear, Joseph.

    I have another question regarding "The Definitive Guise to the ARM Cortex-M3"

    Page 228, Table 14.2  WFI and WFE Wake Up Behavior
    For the WFE Behavior part,
    IRQ with BASEPRI and PRIMASK, SEVONPEND=0
    IRQ priority > BASEPRI
    Wake Up is N.
    But WFI Behavior it wakes up (in this case SEVONPNED is don't care)

    Can you verify this condition does not wake up?

    If my explanation is not clear please let me know.

    Regards.
    Kenichi
  • Note: This was originally posted on 16th January 2008 at http://forums.arm.com

    Hi Kenichi,

    The table is correct. The WFI behaviour is different from WFE on this point.
    If you look at ARM v7-M Architecture Application Level Reference Manual (ARM DDI-0405), in the WFI instruction description, there is a note specifying this behaviour.

    regards,
    Joseph
  • Note: This was originally posted on 14th April 2008 at http://forums.arm.com

    Hi Kenichi,

    The errata document for the book is updated (see attached file).

    Joseph
  • Note: This was originally posted on 14th August 2008 at http://forums.arm.com

    Hi all,

    The errata document for the book is updated (see attached file).

    Joseph
  • Note: This was originally posted on 24th September 2009 at http://forums.arm.com

    Hello Joseph,

    I have found another error, on page 53:
    REV Byte reserve word, instead of Byte reverse word

    Jean-Claude
  • Note: This was originally posted on 24th September 2009 at http://forums.arm.com

    Another error, on page 65 :
    In table 4.22, a register is named Rm in the instructions, but Rn in the comments.
  • Note: This was originally posted on 24th September 2009 at http://forums.arm.com

    Another one, on page 74 :

    "Similarly, if a 32-bit signed value ..."
    should be :
    "Similarly, if a 32-bit unsigned value ..."


    The IF-THEN instructions are described twice, on page 71 and 76.

    The CBZ-CBNZ instructions are described twice, on page 70 and 77.
  • Note: This was originally posted on 24th September 2009 at http://forums.arm.com

    Hi Jean-Claude,
    Thanks for let me know.  Sorry for these errors. (working on this late at night is not good  :D ).
    There is another two:
    1) Table 4.29:

    Input (R0)          Output (R1)     Q Bit
    0xFFFF8001   0xFFFF8000  Set

    This row should have been
    0xFFFF7FFF   0xFFFF8000  Set

    2) Table 4.30
    0x00008000   0x00008000   Set

    This row should have been
    0x00008000   0x00008000   Unchanged

    Please continue to inform me if you find any other errors, and
    feel free to contact me directly if you want more information.
    Thanks
    Joseph
  • Note: This was originally posted on 25th September 2009 at http://forums.arm.com

    Hi Joseph,

    I didn't notice these ones !

    But on page 80, I think that the line :
    STRD.W R0, R1, [R2, #0x20] ; This will gives memory[0x1000] = R0,
                               ; memory[0x1004] = R1

    should be :
    STRD.W R0, R1, [R2, #0x20] ; This will gives memory[0x1020] = R0,
                               ; memory[0x1024] = R1

    Jean-Claude
  • Note: This was originally posted on 25th September 2009 at http://forums.arm.com

    Yes, you're right. Another copy-and-paste error... ouch.
    Joseph
  • Note: This was originally posted on 20th January 2010 at http://forums.arm.com

    Josepth,

    Hello. I was wondering if you can tell me what the difference between the new Elsivier (Newness) edition of you book and the 2007 edition? I own the 2007 edition and was considering the newer edition depending on the changes. I assume corrections (per may of the errata individuals have submitted here of course) but in term of new content? I found your book to be indispensible with respect to learning the Cortex M3. I also noticed you have a new book coming out shortly with CD ROM that, more or less, implies "TI". I would assume there will be material covering the Luminary series? Can you shed some light on that book?

    Thanks,

    Dave Comer
  • Note: This was originally posted on 20th January 2010 at http://forums.arm.com

    Hi Dave,

    There has been a lot of updates:
    -  the corrections listed on the errata document, as well as various other typo are corrected.
    - GNU tool chain (chapter 19) is completely changed. CodeSourcery tools has changed the C startup handling (CS3). Also, it covers retargetting handling in CodeSourcery tools.
    - CMSIS (Cortex Microcontroller Software Interface Standard) : the new Cortex-M3 device drivers from microcontroller vendors are based on CMSIS.  This allows much better compatibility between various device driver, embedded OS and middleware.
    - More C language examples.  Many examples in the first edition are written in assembly language.  The second edition provides both C language examples and assembly language examples.
    - More information about trouble shooting including common errors, hard fault handler example.
    - Features on Cortex-M3 revision 2 (r2p0), and how does it affect the applications.
    - Differences between Cortex-M3 and Cortex-M0, and software compatibility between them.
    - LabVIEW for ARM.  This is a new chapter about the LabVIEW embedded module for ARM.
    - Detailed instruction set from the ARM Cortex-M3 User Guide (replacing the previous instruction set table in appendix A)
    - Improved descriptions/illustrations on various topics. E.g. chapter 3 instruction set has overlapping information removed and some additional information added
    - New appendixes : CMSIS functions, CodeSourcery linker script, Debug connector arrangement

    The "TI" version is not prepare by me.  I guess TI/Luminary might has licensed the copyright of the materials from the book publisher and modifying it to cover more information on their products.  But I don't have any details on that. Sorry.

    regards,
    Joseph