This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

NOR Flash wiring

Other Parts Discussed in Thread: TMS320DM6446

I'm using a NOR flash chip with a 16-bit bus and 21 bits of address.  The DaVinci data sheet says that the AEAW bits of the AEMIF register select address lines starting with EM_BA[1] and continuing with EM_A[0] to EM_A[21].  Doing some reading of the documentation, it seems that these EM_BA lines are used for a "bank select."  Is it absolutely necessary to use these lines or can I get away with using only EM_A[0] to EM_A[20] for my device?

I currently do NOT use the EM_BA lines.  When using DVFlasher to try and burn code, CFI queries and such seem to work fine but my actual flash programming either fails or gets hung up.

 Thanks.

  • I assume your question is in reference to the DM644X platform (DaVinci encompases DM355, DM6467, DM644X, DM643X,...).  In short, you should use EM_BA pins as instructed in the data-sheet; if you do not, you will need to implement a software work-around (change Linux drivers) to correctly pass the desired address to your memory device.

  • To follow up on this discussion, when connecting to a 16-bit wide memory device you should use EM_BA[1] as the lower order address bit representing the 16-bit, half word address.  This is indicated in the Terminal Function section of the datasheet for the DM6446 in Table 2-9.  EM_A[0] always represents a 32-bit word address.

    Also, the TMS320DM6446 Asynchronous EMIF User's Guide (SPRUE20) provides an example of how to wire the EM_BA[1:0] and EM_A[21:0] signals to an 8-bit device and 16-bit device in Section 2.5.1.

  • After reviewing the documents I see where this is mentioned.  I don't know if anyone who reads this board has the influence, but it would be nice to have a document that covers general hardware development, sort of a "Hardware Getting Started" guide for the DaVinci.  I've seen such documentation provided by other manufacturers such as ST Microelectronics and Atmel that covers things such how to wire clocks, power supplies, JTAG lines, and unused I/O pins.  Given the complexity of a processor such as the DaVinci and the nature of the provided documentations (that is, a number of documents that relate to different parts of one device) such a guide would be infinitely useful to developers getting started with DaVinci, especially if it included information on things such as DDR2, EMIF, Ethernet, and USB wiring.

  • SJackson,

    We certainly appreciate your feedback! Just to give you a brief overview of the where you can find this sort of information in our documents

    1) Main data-sheet contains brief overview of all peripherals including, pin-interface, termination (PU,PD,Z), electrical and timing requirements.

    2) Individual peripheral User Guides (UG) contain more detailed information on the corresponding peripheral including block diagrams, clock control, wiring diagrams (when it makes sense)...

    3) We also provide schematics for our EVMs (more wiring examples) as well as additional collateral for complex peripheral layouts such as DDR2.

    4) JTAG is discussed in our main data-sheet and potentially touched upon in UGs, but becaudse it is such a common part of our devices, we have separate Application Notes documents that detail JTAG hardware designs.

    Now that I have given you this brief overview of where you can find this information, are you suggesting it would be preferable to have this in a single document?  I cannot promise this would happen, but I am always happy to take this feedback back to our internal groups.

  • I don't dispute that the information is there, I just feel that it would be more convenient to developers to have some basic information all in one place instead of having to refer to several documents, possibly missing some important information in the process.

  • Point well taken; I will pass on your feedback.