-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmemcopy.c
More file actions
57 lines (52 loc) · 2.33 KB
/
Copy pathmemcopy.c
File metadata and controls
57 lines (52 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//###########################################################################
// FILE: F28M35x_MemCopy.c
// TITLE: Memory Copy Utility
// ASSUMPTIONS:
// DESCRIPTION:
// This function will copy the specified memory contents from
// one location to another.
// Uint16 *SourceAddr Pointer to the first word to be moved
// SourceAddr < SourceEndAddr
// Uint16* SourceEndAddr Pointer to the last word to be moved
// Uint16* DestAddr Pointer to the first destination word
// No checks are made for invalid memory locations or that the
// end address is > then the first start address.
//###########################################################################
// $TI Release: F28M35x Driver Library vAlpha1 $
// $Release Date: July 11, 2011 $
//###########################################################################
#include "utils/memcopy.h"
//*****************************************************************************
//! \addtogroup memcopy_api
//! @{
//*****************************************************************************
//*****************************************************************************
//! This function will copy the specified memory contents from
//! one location to another.
//!
//! \param SourceAddr is the pointer to the first word to be moved where
//! SourceAddr < SourceEndAddr
//! \param SourceEndAddr is the pointer to the last word to be moved
//! \param DestAddr is the pointer to the first destination word.
//!
//! This function will copy the specified memory contents from
//! one location to another. It can be used to copy contents of Flash
//! to Ram during runtime for faster execution.
//!
//! No checks are made for invalid memory locations or that the
//! end address is > then the first start address.
//!
//! \return None.
//*****************************************************************************
void MemCopy(unsigned long *SourceAddr, unsigned long* SourceEndAddr, unsigned long* DestAddr)
{
while(SourceAddr < SourceEndAddr)
{
*DestAddr++ = *SourceAddr++;
}
return;
}
//*****************************************************************************
// Close the Doxygen group.
//! @}
//*****************************************************************************