CH347 JTAG开发

请教各位大神,是否有类似经验,麻烦帮忙指导一下,不胜感激!

使用CH347基于C#做JTAG开发时,CH347Jtag_WriteRead报错--System.AccessViolationException:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”


dll引用的cs程序如下:

[DllImport("CH347DLL.DLL", EntryPoint = "CH347Jtag_WriteRead")]

public static extern bool CH347Jtag_WriteRead(

  UInt32 iIndex,                 // 指定设备序号

  bool   IsDR,                     // =TRUE: DR数据读写,=FALSE:IR数据读写

  UInt32 iWriteBitLength,  // 写长度,准备写出的长度

  byte[] iWriteBitBuffer,     // 指向一个缓冲区,放置准备写出的数据

  UInt32 oReadBitLength, // 指向长度单元,返回后为实际读取的长度

  byte[] oReadBitBuffer);   // 指向一个足够大的缓冲区,用于保存读取的数据


您好,oReadBitLength 传参类型是PULONG,您应传入int型指针如ref UInt32。




您好!非常感谢解惑,该错误已经解决。

但使用CH347Jtag_WriteRead连续读写时,经常会执行失败,监控发现没有读回数据,用逻辑分析仪抓取是有正确的数据返回的,麻烦再帮忙指导,万分感谢。


只有登录才能回复,可以选择微信账号登录