编程过时的微控制器

时间:2014-12-05 00:54:48

标签: firmware jtag flash-memory

我正在使用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启用似乎存在内存映射问题。我不知道这意味着什么或如何解决问题。如果有任何我缺少的信息/步骤,请查看并告诉我。

谢谢,

维拉德

0 个答案:

没有答案