我正在使用ST Micro的PSD835G2V-12UI微控制器。该芯片已经过时,Windows 7不支持用于闪存固件的程序PSDsoft Express。它在Windows XP上运行良好,但我想将编程移植到Windows 7机器上。
我正在使用Raisonance RLINK JTAG编程器来连接计算机和微控制器。
ST micro建议使用PSDsoft,这是他们用于编程的程序。但是,PSDsoft不能在Windows 7上运行。
我在网上找到了部分解决方案,我可以使用RIDE7。不幸的是,RIDE7不支持PSD芯片,它只支持uPSD。我可以进行命令窗口调用,并通过RLINK与芯片组进行有效通信。以下是我通过命令窗口选择的列表: (对不起张贴图片)
Syntax: PSD_pgm [JCIFile] [Actions Device Regions [FileName1] [FileName2]]
[JCIFile] is the name of the .JCI file containing the JTAG chain description.
If [JCIFile] is the only argument, the actions will be read from it.
If [Actions] exists, the commands in [JCIFile] will be ignored.
[Actions] can be any of these:
A: All: shortcut for "ISJECPVDKF"
U: USB: Check connection to RLink and display firmware information.
I: Id: Check connection to target and display silicon signature.
S: Security: Display the Security status.
J: JTAG: Enable JTAG/ISC.
E: Erase: Full Chip Erase.
C: Check: Blank-Check.
P: Program <FileName1>.
V: Verify against <FileName1>.
D: Dump to <FileName2> as osf file.
K: Disable JTAG/ISC.
F: Fatal: Any error is considered as fatal.
[Device] is the number of the device to be used (as referenced in the JCI file)
[Regions] is the regions to be affected: (as referenced in the JCI file)
0 : All - all region
1 : Main - Main memory region
2 : Boot - Boot memory region
3 : PLD - PLD/ACR region
4 : UserCode - Usercode region
[FileName1] exists if option P or V is used
[FileName2] exists if option D is used
我可以成功进行以下命令调用:
C:\ Raisonance \ ride \ bin \ psd_pgm.exe C:\ users \ me \ firmware \ test \ testFirmware.jci U 1 0
有了这些结果:
C:\Users\me> C:\Raisonance\ride\bin\psd_pgm.exe C:\users\me\firmware\test\testFirmware.jci U 1 0
PSD_pgm: programming tool for uPSD
Copyright (c) 2010 Raisonance SAS
OK.
*** Analysing JCI file: C:\users\me\firmware\test\testFirmware.jci
Chain_Device1:
Name: PSD835G2V
UserCode: 0
IRL: 5
Initializing and opening COM...OK.
Opening USB com...OK.
Getting Serial Number...OK.
Serial Number is: dngStd004000693
Getting Firmware Version...OK.
Firmware Version is: 0.0.3
Selecting and checking ID on device 1...OK.
Selecting regions 0: All...OK.
Bye.
Closing COM...OK.
所有其他命令工作除外:“P”程序和“J”JTAG:启用JTAG / ISC。
我能够成功擦除芯片组的内存,但不能对芯片进行编程。
这是我在输入JTAG启用命令时看到的错误,这是程序命令的前身:
错误103:启用失败。 0x41!= 0x40
C:\ Raisonance \ ride \ bin \ psd_pgm.exe C:\ users \ me \ firmware \ test \ testFirmware.jci J 1 0
C:\Users\me> C:\Raisonance\ride\bin\psd_pgm.exe C:\users\me\firmware\test\testFirmware.jci J 1 0
PSD_pgm: programming tool for uPSD
Copyright (c) 2010 Raisonance SAS
OK.
*** Analysing JCI file: C:\users\me\firmware\test\testFirmware.jci
Chain_Device1:
Name: PSD835G2V
UserCode: 0
IRL: 5
Initializing and opening COM...OK.
Selecting and checking ID on device 1...OK.
Selecting regions 0: All...OK.
Enabling JTAG/ISC...
**ERROR 103: Enable failed. 0x41 != 0x40**
Bye.
Closing COM...OK.
这是我的.jci文件:
[JTAG-Chain]
Chain_Device1=PSD835G2V," C:\users\me\firmware\test\testFirmware.osf",2,0,FFFFFFFF,5,1
[DeviceID]
DeviceID_1=08030001,08030047,18030047,08031047,18031047,08050047
[SectorsSizes]
Device1_MAIN_SECTOR0=0x4000
Device1_MAIN_SECTOR1=0x4000
Device1_MAIN_SECTOR2=0x4000
Device1_MAIN_SECTOR3=0x4000
Device1_MAIN_SECTOR4=0x4000
Device1_MAIN_SECTOR5=0x4000
Device1_MAIN_SECTOR6=0x4000
Device1_MAIN_SECTOR7=0x4000
Device1_BOOT_SECTOR0=0x2000
Device1_BOOT_SECTOR1=0x2000
Device1_BOOT_SECTOR2=0x2000
Device1_BOOT_SECTOR3=0x2000
Device1_PLD=0x3760
Device1_USERCODE=0x20
所以我看到的问题是我可以与程序员进行通信,但JTAG启用似乎存在内存映射问题。我不知道这意味着什么或如何解决问题。如果有任何我缺少的信息/步骤,请查看并告诉我。
谢谢,
维拉德