From 82902d0e9549999bb3324440738b42f6d741c67e Mon Sep 17 00:00:00 2001 From: kpfleming Date: Tue, 16 Jan 2007 04:30:00 +0000 Subject: make the 'firmware object' files load the firmware blobs as read-only data simplify the code that uses the firmware objects a bit git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@1826 5390a7c7-147a-4af0-8ec9-7488f05a26cb --- build_tools/make_firmware_object | 2 +- wct4xxp/vpm450m.c | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/build_tools/make_firmware_object b/build_tools/make_firmware_object index 1aadde3..b00c8f9 100755 --- a/build_tools/make_firmware_object +++ b/build_tools/make_firmware_object @@ -9,4 +9,4 @@ bfdname=`objdump -f ${3} | grep -e "${3}:" | sed "s/.*file format \(.*\)/\1/"` bfdarch=`objdump -f ${3} | grep -e "architecture:" | sed "s/.*ture: \(.*\),.*/\1/"` -objcopy -I binary ${1} -B ${bfdarch} -O ${bfdname} ${2} +objcopy -I binary ${1} -B ${bfdarch} -O ${bfdname} ${2} --rename-section .data=.rodata,alloc,load,data,contents,readonly diff --git a/wct4xxp/vpm450m.c b/wct4xxp/vpm450m.c index 5eb40eb..89874ac 100644 --- a/wct4xxp/vpm450m.c +++ b/wct4xxp/vpm450m.c @@ -12,11 +12,6 @@ #include #ifdef HOTPLUG_FIRMWARE #include -#else -extern unsigned char _binary_OCT6114_64D_ima_start; -extern unsigned int _binary_OCT6114_64D_ima_size; -extern unsigned char _binary_OCT6114_128D_ima_start; -extern unsigned int _binary_OCT6114_128D_ima_size; #endif #include "oct6100api/oct6100_api.h" @@ -44,7 +39,7 @@ UINT32 Oct6100UserMemSet(PVOID f_pAddress, UINT32 f_ulPattern, UINT32 f_ulLength return cOCT6100_ERR_OK; } -UINT32 Oct6100UserMemCopy(PVOID f_pDestination, PVOID f_pSource, UINT32 f_ulLength) +UINT32 Oct6100UserMemCopy(PVOID f_pDestination, const void *f_pSource, UINT32 f_ulLength) { memcpy(f_pDestination, f_pSource, f_ulLength); return cOCT6100_ERR_OK; @@ -411,10 +406,16 @@ struct vpm450m *init_vpm450m(void *wc, int *isalaw, int numspans) ChipOpen.ulImageSize = firmware->size; #else if (vpm450m->numchans > 64) { - ChipOpen.pbyImageFile = &_binary_OCT6114_128D_ima_start; + extern const unsigned char _binary_OCT6114_128D_ima_start[]; + extern const unsigned int _binary_OCT6114_128D_ima_size; + + ChipOpen.pbyImageFile = _binary_OCT6114_128D_ima_start; ChipOpen.ulImageSize = _binary_OCT6114_128D_ima_size; } else { - ChipOpen.pbyImageFile = &_binary_OCT6114_64D_ima_start; + extern const unsigned char _binary_OCT6114_64D_ima_start[]; + extern const unsigned int _binary_OCT6114_64D_ima_size; + + ChipOpen.pbyImageFile = _binary_OCT6114_64D_ima_start; ChipOpen.ulImageSize = _binary_OCT6114_64D_ima_size; } #endif -- cgit v1.2.3