2003-10-16 02:15 AM
2011-05-17 02:56 AM
Good day!
Me and my customer started with developing a system within uPSD3212, using DK3200. There are several problems appeared which can't be solved only by reading manuals. Please, try to help us: 1. There are three memory parts: First Flash, Secondary(Boot) Flash and XRAM. The parts are independent of each other and, generally can be addressed from 0000H address. I can separate code flash (secondary) from first flash and RAM by setting the appropriate bits in VM register (enabling /PSEN and disabling /RD for it). But how to separate XRAM from data flash? They both start at 0000H address and use /RD strobe. What am I gonna get when I execute a command MOVX R0,123H, for example? 2. Why in ''simple memory map'' mode in PSDSoft Express, boot flash memory starts from 8000H but not from 0000H? 3. What is the real purpose of PAGE REGISTER and what are the benefits when using the register? Does it mean data line number reduction when using paging? What is the goal of paging? 4. Is it nesessary to use Keil uVision2 emulator? If the user got used to another one which supports 8051 core, can the one be used to programm uPSD devices? 5. PSDSoft express bears the file NAMEPROJECT.obj after the PLDs are assigned. As far as I realize, this object file contains the PLD and memory structure. Is it really nesessary to include this file as one of source files in Keil uVision2 when building a project oriented to the particular uPSD? 6. Can uPSD3234 set firmly onto DK3200 board really emulate the lower ones, such as uPSD3212? 7. My customer strictly refuses to use C/C++, he needs only assembler. The reason is in previous 8051 source codes existance. Can we get an Assembler IDE similar to Keil uVision2? Thank you in advance.2011-05-17 02:56 AM
Igoron,
1. The only way to separate code RAM from data Flash is to allow the memory precedence rules of the uPSD to take over. If you look in the manual, it gives you the precedence for access when two things are mapped at the same area. Typically, however, these devices are flexible enough that you won't have to overlap them. 3. The page register is used to extend the address space of the 8032. With only a 16 bit address bus, the 8032 can address 64kB of memory. The page register, however, can be used to swap or ''page'' out sections of memory. For instance, the upper 32kB of address space could be used to access several different 32kB pages, thus allowing you access to more memor. 4. I'm pretty sure that just about any 8051 compiler will work fine with the uPSD32XX chips because PSDSoft express takes care of mergin the generic firmware with chip-specific stuff. 5. No, Keil's compiler doesn't need to know anything about the .obj file to generate firmware for the uPSD. You just create this file with PSDSoft express and then use any programmer supporting the family to burn the PLD and firmware at the same time. 7. Keil's IDE and compiler support the use of assembly code. You could just use their assembler and linker/locator and code everything in assembly if you wanted. Hope some of that helped. Best Regards, Phaze2011-05-17 02:56 AM
Thank you very much, Phaze! It really helped. One more question: is it possible to debug within RS-232 only, because, lots of debuggers do not support JTAG.
Thank you.