mirror of https://github.com/rusefi/openblt.git
Refs #579. Added CpuMemSet function to all ports and used it in XCP memory reads when the programming resource is locked.
git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@549 5dc33758-31d5-4daf-9ae8-b24bf3d40d73
This commit is contained in:
parent
87c6a0e8ee
commit
17beaf5802
|
@ -145,4 +145,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -156,4 +156,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -136,4 +136,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -145,4 +145,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -145,4 +145,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -145,4 +145,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -141,4 +141,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -141,4 +141,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -145,4 +145,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -141,4 +141,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -145,4 +145,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -145,4 +145,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -133,4 +133,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -129,4 +129,30 @@ void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len)
|
|||
} /*** end of CpuMemCopy ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Sets the bytes at the destination address to the specified value.
|
||||
** \param dest Destination address for the data.
|
||||
** \param value Value to write.
|
||||
** \param len Number of bytes to write.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len)
|
||||
{
|
||||
blt_int8u *to;
|
||||
|
||||
/* set casted pointer */
|
||||
to = (blt_int8u *)dest;
|
||||
|
||||
/* set all bytes at the destination address to the specified value */
|
||||
while (len-- > 0)
|
||||
{
|
||||
/* set byte value */
|
||||
*to++ = value;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CpuMemSet ***/
|
||||
|
||||
|
||||
/*********************************** end of cpu.c **************************************/
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
void CpuInit(void);
|
||||
void CpuStartUserProgram(void);
|
||||
void CpuMemCopy(blt_addr dest, blt_addr src, blt_int16u len);
|
||||
void CpuMemSet(blt_addr dest, blt_int8u value, blt_int16u len);
|
||||
void CpuIrqDisable(void);
|
||||
void CpuIrqEnable(void);
|
||||
|
||||
|
|
|
@ -707,16 +707,7 @@ static void XcpCmdUpload(blt_int8u *data)
|
|||
/* resource is locked so memory read access is denied. zero values are returned
|
||||
* instead.
|
||||
*/
|
||||
while (len > 0)
|
||||
{
|
||||
/* write a zero value */
|
||||
*destPtr = 0;
|
||||
/* update write pointer and loop counter */
|
||||
destPtr++;
|
||||
len--;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
CpuMemSet((blt_addr)destPtr, 0, len);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -779,16 +770,7 @@ static void XcpCmdShortUpload(blt_int8u *data)
|
|||
/* resource is locked so memory read access is denied. zero values are returned
|
||||
* instead.
|
||||
*/
|
||||
while (len > 0)
|
||||
{
|
||||
/* write a zero value */
|
||||
*destPtr = 0;
|
||||
/* update write pointer and loop counter */
|
||||
destPtr++;
|
||||
len--;
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
CpuMemSet((blt_addr)destPtr, 0, len);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue