91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 15KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-01
  • 語言: C/C++
  • 標(biāo)簽: JLinkARM??

資源簡介

可以實現(xiàn)運行時讀寫Cortex-m系列cpu的存儲, 也可實現(xiàn)jlink rtt功能

資源截圖

代碼片段和文件信息


#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

#ifndef?uint8_t
#define?uint8_t?unsigned?char
#endif
#ifndef?bool
#define?bool int
#endif

#define?_CALL

#pragma?pack(push)
#pragma?pack(1)
struct?TRAD_T
{
uint32_t?flag;
uint32_t?data;
};
struct?TRAD_CB
{
TRAD_T?tx;
TRAD_T?rx;
uint8_t?txbuf[128];
uint8_t?rxbuf[128];
};
#pragma?pack(pop)

#define?TRAD_OFFSET(m) (trad_addr+offsetof(TRAD_CBm))

bool(*JlinkARM_IsHalted)(void);
bool(*JlinkARM_Halt)(void);
void?(*JlinkARM_Open)(void);
void(*JlinkARM_Close)(void);
bool?(*JlinkARM_IsOpen)(void);
uint32_t?(*JlinkARM_GetSN)(void);
uint32_t?(*JlinkARM_GetId)(void);
uint32_t?(*JlinkARM_GetDLLVersion)(void);
uint32_t?(*JlinkARM_GetSpeed)(void);
uint32_t?(*JlinkARM_ReadDCC)(uint32_t?*buf?uint32_t?size?int32_t?timeout);
uint32_t?(*JlinkARM_WriteDCC)(const?uint32_t?*buf?uint32_t?size?int32_t?timeout);
uint32_t?(*JlinkARM_ReadDCCFast)(uint32_t?*buf?uint32_t?size?int32_t?timeout);
uint32_t?(*JlinkARM_WriteDCCFast)(const?uint32_t?*buf?uint32_t?size?int32_t?timeout);
uint32_t?(*JlinkARM_WaitDCCRead)(uint32_t?timeout);
void?(*JlinkARM_SetSpeed)(uint32_t?spd);
uint32_t(*JlinkARM_ExecCommand)(const?char*?cmduint32_t?auint32_t?b);

void(*JlinkARM_WriteU8)(uint32_t?addr?uint8_t?dat);
void(*JlinkARM_WriteU16)(uint32_t?addr?uint16_t?dat);
void(*JlinkARM_WriteU32)(uint32_t?addr?uint32_t?dat);
uint32_t(*JlinkARM_ReadMemU8)(uint32_t?addr?uint32_t?leng?uint8_t?*buf?uint8_t?*status);
uint32_t(*JlinkARM_ReadMemU16)(uint32_t?addr?uint32_t?leng?uint16_t?*buf?uint8_t?*status);
uint32_t?(*JlinkARM_ReadMemU32)(uint32_t?addr?uint32_t?leng?uint32_t?*buf?uint8_t?*status);
void(*JlinkARM_ReadMemHW)(uint32_t?addr?uint32_t?leng?uint8_t?*buf);
uint32_t?(_CALL?*Jlink_TIF_Select)(uint32_t?tif);
uint32_t(_CALL*Jlink_Connect)(void);
uint32_t(_CALL*Jlink_IsConnected)(void);
void(*JlinkARM_ReadMem)(uint32_t?addr?uint32_t?leng?uint8_t?*buf);
void(*Jlink_ReadMemU8)(uint32_t?addr?uint32_t?leng?uint8_t?*buf?uint8_t?*status);
uint32_t?(*Jlink_GetMemZones)(uint32_t?a?uint32_t?b);
void(*JlinkARM_Go)(void);

uint32_t?JlinkARM_WriteMenU8(uint32_t?addr?uint32_t?leng?uint8_t?*buf)
{
if?(leng?==?1)
{
JlinkARM_WriteU8(addr?buf[0]);
}
else?if?(leng?==?2)
{
uint16_t?dat?=?buf[0];
dat?<<=?8;
dat?|=?buf[1];
JlinkARM_WriteU16(addr?dat);
}
else?if?(leng?==?3)
{
JlinkARM_WriteU8(addr?buf[0]);
uint16_t?dat?=?buf[1];
dat?<<=?8;
dat?|=?buf[2];
JlinkARM_WriteU16(addr?dat);
}
else
{
for?(int?i?=?0;?i? {
int?l?=?leng?-?i;
if?(l?>=?4)?
{
uint32_t?dat?=?buf[i+0];
dat?<<=?8;
dat?|=?buf[i+1];
dat?<<=?8;
dat?|=?buf[i+2];
dat?<<=?8;
dat?|=?buf[i+3];
JlinkARM_WriteU32(addr?dat);
}
else
{
for?(int?j?=?i;?j? JlinkARM_WriteU8(addr?bu

評論

共有 條評論

相關(guān)資源