Error 129 mapmem map size truncated to 128mb

andreas

andreas

unread,

Dec 12, 2013, 4:57:50 PM12/12/13

to cppu…@googlegroups.com

I’d like to join Heath Raftery who wrote a very helpful setup-guide. I made the same excercise for Keil uVision lately, here are my findings:

Toolchain:
uVision MDK-ARM Standart Version: V4.70.0.0
Compiler / Linker Toolchain Version: V5.03.0.24

HAL Library:
Standard Peripheral Library for STM32 Cortex M3 Version V3.5.0

Target:

STM32F103VGI chose to set up a simulator project, most because I like the idea of being able to testdrive code before any HW is present. Furthermore I am testing with the same compiler toolchain as my target will use, and last but not least, code coverage / and performance analysis are available in the same environment. Drawback is, that you are kind of stuck to the keil environment. The editor is not a big revelation, nor is the toolchainsettings and the possibilities to automate the tests. But that is whole different story…
I picked the biggest (memory-wise) available CortexM3 core from ST (STM32F103VG) that has a simulator available, since we are using a core of the same family. Check yourself if Keil provides a simulator for a certain core on the Keil webpage.

  • To build the CppUTest library in Keil, I created a new empty Keil project
    in the root folder of cpputest and made the following changes:
    • Target Options->Device Tab->choose «STM32F103VG»
    • Target Options->Target Tab->Code Generation->check «Use MicroLib»
    • Target Options->Output Tab->Create Executable lib
    • Target Options->C/C++ Tab->Define->add «STM32F10X_XL,  CPPUTEST_STD_CPP_LIB_DISABLED»
    • Target Options->C/C++ Tab->Include Paths->add the CppUTest include directory
    • Target Options->C/C++ Tab->Misc Controls->add «—diag_suppress 1300 —diag_suppress 1293  —exceptions»
    • Target Options->Linker Tab->Misc Controls->add «—vfemode=off»
    • added all *.cpp files in srcCppUTest
    • Added srcPlatformsIarUtestPlatform.cpp
    • Changed in UtestPlatform.cpp the return value of the function TimeInMillisImplementation from return 1; to return t; which enables timing.
    • in UtestPlatform.cpp I declared all the functions except for PlatformSpecificRunTestInASeperateProcess and PlatformSpecificGetWorkingEnvironment as extern «C»
  • CppUTest builds with these settings, generating a CppUTest.lib file
  • To build the CppUTest tests, I created a new empty Keil project in the
    root folder of CppUTest, called it CppUTestTest, and made the following
    changes:
    • Target Options->Device Tab->choose «STM32F103VG»
    • Target Options->Target Tab->Code Generation->check «Use MicroLib»
    • Target Options->Output Tab->Create Executable (not Lib) check «Debug information»
    • Target Options->C/C++ Tab->Define->add «STM32F10X_XL,  CPPUTEST_STD_CPP_LIB_DISABLED»
    • Target Options->C/C++ Tab->Include Paths->add the CppUTest include directory
    • Target Options->C/C++ Tab->Misc Controls->add «—diag_suppress 1300 —diag_suppress 1293  —exceptions»
    • Added the include path to the Standard Peripheral Library from STMicroelectronics
    • Added the include path to the ARMCC standard implementations
    • Target Options->Linker Tab->Misc Controls->add «—vfemode=off»
    • Target Options->Debug Tab->check «Use Simulator»
    • Target Options->Debug Tab->create a map.ini file that contains the memory regions with the appropriate permissions
    • Target Options->Debug Tab->Parameter->add «-REMAP»
    • Add all *.cpp and *.c files in tests
    • Add the startupfile for the core. In my case it is «startup_stm32f103x_xl.s»
    • Add the system init file, in my case «system_stm32f10x.c»
    • Add the previously built CppUTest.lib
    • change the file AllTests to be able let the tests run in verbose mode
      int ac_override = 2;

      const char * av_override[] = { «exe», «-v» }; //turn on verbose mode
      return RUN_ALL_TESTS(ac_override, av_override);
    • since Keil does not support semihosting straightaway, you need to retarget some functions. A working retarget sample can be found from this website. Basically what must be done is redefining fputc to redirect the debug output over the ARM ITM interface. Something like this:
      #pragma import(__use_no_semihosting_swi)
      #define ECHO_FGETC
      volatile int ITM_RxBuffer=0x5AA55AA5; /* Buffer to transmit data towards debug system. */

      struct __FILE { int handle; /* Add whatever you need here */ };
      FILE __stdout;
      FILE __stdin;

      int fputc(int ch, FILE *f)
      {
        return (ITM_SendChar((uint32_t)ch));
      }

    • Furthermore, a working clock definition is needed. Keil provides an example here.

Here we are. With this I had a working CppUTest environment under Keil. Debug output (Test results) can be listed via «View->serial Windows-> debug (printf) viewer». I am going along this street now, creating a custom testdriven project. If you admins think it would be useful to create a UtestPlatform.cpp for Keil let me know, I am happy to share my files.

Andreas

Erick van Rijk

unread,

Dec 18, 2013, 12:51:51 PM12/18/13

to cppu…@googlegroups.com

Hi Andreas,
Thanks for the setup guide, I’ve been playing around with Eclipse/Keil/CppUTest for a while now and never really got it working right.
I’ll give it another shot!

Erick

Erick van Rijk

unread,

Dec 19, 2013, 5:33:00 PM12/19/13

to cppu…@googlegroups.com

Andreas,
would you mind adding your project files to Github?

Erick

andreas

unread,

Dec 19, 2013, 6:17:38 PM12/19/13

to cppu…@googlegroups.com

Erick,

I can do so for the «UtestPlatform.cpp» file. The «retarget.c» file and the «clock_impl_cm3.c» have keil respectively ARM copyrights, and I don’t feel comfortable loading them on github — but I gave you the links where you can download them. I will try to add the «UtestPlatform.cpp» tomorrow, as I am out of office today. Just wondering, are you having troubles somewhere??

BR Andreas

Erick van Rijk

unread,

Dec 19, 2013, 6:56:51 PM12/19/13

to cppu…@googlegroups.com

Hi Andreas,
I’m having the obvious unresolved symbol errors.
*****
compiling retarget.c…
compiling clock_impl_cm3.c…
linking…
.cpputesttest.axf: Error: L6218E: Undefined symbol time (referred from utestplatform.o).
Not enough information to list image symbols.
Finished: 1 information, 0 warning and 1 error messages.
«.cpputesttest.axf» — 1 Error(s), 0 Warning(s).
*****

So I was hoping to glean any obvious mistakes from your uvproj.
uVision does list the time.h correctly from the C:KeilARMARMCCinclude (any other obvious locations for time?)
Assuming the lib does build correctly (it doesn’t give any errors) I must have made and editing error somewhere. If you can supply the UtestPlatfrom.cpp, it would be helpful. (could be a simple typo).
Thanks
Erick

andreas

unread,

Dec 20, 2013, 11:35:43 AM12/20/13

to cppu…@googlegroups.com

Erick,

I am feeling guilty for this… I forgot to tell about one more change to be made in order to make it work:

In the File UtestPlatform.cpp, change the method TimeStringImplementation as follows:

static const char* TimeStringImplementation()
{
    time_t tm = 0;//time(NULL);
    return ctime(&tm);
}

I didn’t hunt this down, so I can’t tell you why this is necessary, and right now I have no time to do it, but I should…

Hope this helps!
Andreas

Erick van Rijk

unread,

Dec 20, 2013, 12:03:07 PM12/20/13

to cppu…@googlegroups.com

Great, that resolved the time symbolic issue.
I’m not getting any linker errors any more and after poking at the mem.ini no more warnings there. (could you post your mem.ini contents?)
My next isssue seems to be getting output to debug printf. I got it working properly with the tutorial you provided but I’m not seeing any output, so thats my next hunt for this morning ;)

andreas

unread,

Dec 20, 2013, 12:18:26 PM12/20/13

to cppu…@googlegroups.com

this is the map.ini that I am using so far — although I am not sure if it is complete…

MAP  0x00000000, 0x000FFFFF  READ EXEC WRITE    // ALIASED FLASH
MAP  0x08000000, 0x080FFFFF  READ EXEC            // FLASH MEM
MAP  0x20000000, 0x20017FFF     READ EXEC WRITE    // SRAM

MAP  0x1044EBC0, 0x1044FFFF  EXEC READ    // unclear

MAP  0x1FFFE000, 0x1FFFF7FF     READ EXEC WRITE

MAP  0x20018000, 0x3FFFFFFF     READ WRITE

MAP  0x40000000, 0x400003FF  READ WRITE
MAP  0x40000400, 0x400007FF  READ WRITE
MAP  0x40000800, 0x40000BFF  READ WRITE
MAP  0x40000C00, 0x40000FFF  READ WRITE
MAP  0x40001000, 0x400013FF  READ WRITE
MAP  0x40001400, 0x400017FF  READ WRITE
MAP  0x40001800, 0x40001BFF  READ WRITE
MAP  0x40001C00, 0x40001FFF  READ WRITE
MAP  0x40002000, 0x400023FF  READ WRITE

MAP     0x40003C00, 0x40003FFF  READ WRITE // SPI3

MAP  0x40007000, 0x400073FF  READ WRITE
MAP  0x40010000, 0x400103FF  READ WRITE    // AFIO
MAP  0x40010400, 0x400107FF  READ WRITE    // EXIT
MAP  0x40010800, 0x40010bFF  READ WRITE    // GPIOA
MAP  0x40010C00, 0x40010FFF  READ WRITE    // GPIOB
MAP  0x40011000, 0x400113FF  READ WRITE    // GPIOC
MAP  0x40011400, 0x400117FF  READ WRITE    // GPIOD
MAP  0x40011800, 0x40011bFF  READ WRITE    // GPIOE
MAP  0x40011C00, 0x40011FFF  READ WRITE    // GPIOF
MAP  0x40012000, 0x400123FF  READ WRITE    // GPIOG
MAP  0x40012400, 0x400127FF  READ WRITE    // ADC1
MAP  0x40012800, 0x40012bFF  READ WRITE    // ADC2
MAP  0x40012C00, 0x40012FFF  READ WRITE    // TIM1
MAP  0x40013000, 0x400133FF  READ WRITE    // SPI1
MAP  0x40013400, 0x400137FF  READ WRITE    // TIM8
MAP  0x40013800, 0x40013bFF  READ WRITE    // USART1
MAP  0x40013C00, 0x40013FFF  READ WRITE    // ADC3

MAP  0x40014C00, 0x40014FFF  READ WRITE    // TIM9
MAP  0x40015000, 0x400153FF  READ WRITE    // TIM10
MAP  0x40015400, 0x400157FF  READ WRITE    // TIM11

MAP  0x40018000, 0x400183FF  READ WRITE    // SDIO

MAP  0x40020000, 0x400203FF  READ WRITE    // DMA1
MAP  0x40020400, 0x400207FF  READ WRITE    // DMA1

MAP  0x40021000, 0x400213FF  READ WRITE    // RCC

MAP  0x40022000, 0x400223FF  READ WRITE    // FLASH INTERFACES 1&2

MAP  0x40023000, 0x400233FF  READ WRITE // CRC

MAP  0x40021000, 0x400213FF  READ WRITE
MAP  0x60000000, 0x63FFFFFF     READ EXEC WRITE
MAP  0x70000000, 0x73FFFFFF  READ EXEC

MAP  0x78000000, 0x78FFFFFF     READ EXEC // FSMC BANK 2

BR Andreas

Bas Vodde

unread,

Dec 20, 2013, 1:17:37 PM12/20/13

to cppu…@googlegroups.com

Erick van Rijk

unread,

Dec 20, 2013, 1:17:50 PM12/20/13

to cppu…@googlegroups.com

Ok, that Map.ini file is more extensive that the one I made. Thanks.
Seems that the fputc function is never called in debug. It seems to be stuck in startup_stm32f10x_xl Systick handler.
Did you perhaps modify the standard simulator config for the device target (i.e. R/W memory areas?/ Stack/Heap?)?

andreas

unread,

Dec 20, 2013, 1:30:17 PM12/20/13

to cppu…@googlegroups.com

Hi Bas,

That is something for the coming year — I’ll give it a try and let you know in case I need support…

Cheers,
Andreas

andreas

unread,

Dec 20, 2013, 1:42:25 PM12/20/13

to cppu…@googlegroups.com

Nope, no changes done in the startupfile… BUT, another one I missed in my Docu — cool that you are verifying the stuff Erick:

change line 11 from clock_impl_cm3.c to
#define CPU_MHZ        (72*1000000)
Line 36 in the same file to (beware of upper/lower case)
extern __irq void SysTick_Handler(void)
Line 62 in the same file to
static unsigned int overflows = 0;// = systick_overflows;

Hmm — sorry again, hope the is the end of the ladder to success…

Andreas

Erick van Rijk

unread,

Dec 20, 2013, 2:01:49 PM12/20/13

to cppu…@googlegroups.com

No Worries,
its in my own interest to get this working.
Made the changes, but I’m still not receiving any output in the debug window.
Any other changes, you can think of? Or should I send you my files so you can do a diff?

Erick van Rijk

unread,

Dec 20, 2013, 3:12:55 PM12/20/13

to cppu…@googlegroups.com

Narrowed it down a bit more,

The debug run ends up in: BusFault_Handler in the startup_stm32f10x_xl.s again. I’m assuming that there is some read/write error that causes this.
Tracing the code (yay simulator), the calling function is from UtestPlatform.cpp:
char* PlatformSpecificStrCpy(char* s1, const char* s2)
{
   return strcpy(s1, s2);
}
s1 = char* 0x18
s2 = char* 0x19

Eventually originating from SimpleString::SimpleString(const char *otherBuffer)

Any idea what’s going on there?

andreas

unread,

Dec 20, 2013, 4:32:26 PM12/20/13

to cppu…@googlegroups.com

Are you trying to write to a memory region that is not declared in your ini file? (check the command window in the debugger. This was in my case the most frequent reason why I would have entered a Busfault…

Andreas

Erick van Rijk

unread,

Dec 20, 2013, 5:11:23 PM12/20/13

to cppu…@googlegroups.com

Actually I progressed a bit after that last email, Increasing the Heap/Stack to 0x0400 / 0x5000 resolved the BusFaults, (used the suggestions of the IAR howto).
So, After the heap increase and removing the MemoryLeakTests from the sources I finally got the debug printf outputs.

I think you are right that my memory allocations are wrong, I looked at the memory map in the STM32F103xF documents and I cannot seem to spot any errors,
Increasing the heap/stack too large will cause it to run over into the 0x2001 8000 (RESERVED) range.

There are not any errors in the command windows (at least not when I don’t push the heap into the RESERVED range.
I do however get the following error when loading the map.ini. Do you get the same error?
*** error 129: MapMem — map size truncated to 128MB

andreas

unread,

Dec 20, 2013, 6:06:14 PM12/20/13

to cppu…@googlegroups.com

Yes I do get the same error — in the map.ini file you need to define chunks of memory that are smaller than these 128MB in order to get rid of this error…

Erick van Rijk

unread,

Dec 20, 2013, 6:13:19 PM12/20/13

to cppu…@googlegroups.com

I actually made a mistake with the previous stack/heap comments.
https://github.com/cpputest/cpputest.github.io/blob/master/stories.markdown
recommends 0x600 and 0x8000. 0x500 abd 0x5000 are for normal use (ie
not running the test suite).
So without the memory leak tests: Errors (3 failures, 264 tests, 251 ran, 443 checks, 13 ignored, 0 filtered out, 140 ms).
So
it completes the tests. One thing surprises me that it ends up in the
hard-fault handler after completion? Is this expected behavior form
CortexM3?

3 tests seem to fail, I’ll figure them out later. When I add back the MemoryLeakTests it indeed generates an access error:
*** error 65: access violation at 0xF019A814 : no ‘read’ permission
But the 0xF range is 512-Mbyte block 7 Cortex-M3’s internal peripherals. It shouldn’t be going here anyway.

If I’m correct you do include the MemoryLeakTests to your project?

Erick van Rijk

unread,

Jan 6, 2014, 4:11:33 PM1/6/14

to cppu…@googlegroups.com

andreas

unread,

Jan 9, 2014, 2:23:28 PM1/9/14

to cppu…@googlegroups.com

Erick,

Happy new Year :-)
First I’ll clarify the Memleak quest. Nope I’ve excluded the MemleackTests for now. I didn’t hunt it down yet but it does not work here either!
I guess your question regarding NaN points to the same direction. I suppose you are having troubles with all the TESTS that concern double handling. But again, I excluded the tests for now, in order to get back to my project and get ahead there.

Erick van Rijk

unread,

Jan 9, 2014, 2:42:29 PM1/9/14

to cppu…@googlegroups.com

Ah ok, at least it means we have the same issues.

Have you looked into what the minimal requirements are to run CPPUTest in your own projects?  I haven’t even started in implementing that yet.
I’m interested in what a minimalist lib (but still functional) would look like (requirements, not the bits :P)

Erick

Bas Vodde

unread,

Jan 11, 2014, 10:40:55 AM1/11/14

to cppu…@googlegroups.com

Hi Erick,

On 9 Jan, 2014, at 6:42 pm, Erick van Rijk <erick….@gmail.com> wrote:

> Ah ok, at least it means we have the same issues.

>

> Have you looked into what the minimal requirements are to run CPPUTest in your own projects? I haven’t even started in implementing that yet.

> I’m interested in what a minimalist lib (but still functional) would look like (requirements, not the bits :P)

I’m not sure what the minimal requirements are, but usually most compilers that have some sort of C++ support will do. I’ve ones had a C-only compiler, that didn’t work :)

Bas

Erick van Rijk

unread,

Jan 21, 2014, 5:00:21 PM1/21/14

to cppu…@googlegroups.com

Hi Bas,

I actually mean hardware requirements (since we are testing on embedded devices).
So stuff like Heap/Stack/code/ram size are important.

Erick

A. Robert S.

unread,

Jan 21, 2014, 10:00:33 PM1/21/14

to cppu…@googlegroups.com

Erick,

I used CppUTest with TI’s TMS320F2335. I got everything to work, eventually. But I could not get the compiler to produce NaN. I tried many ways to force it, but no luck. So I ended up with three failing tests (the ones that do tests related to NaN). All other tests related to DOUBLE should pass, though.

Robert


On Thursday, January 9, 2014 11:23:28 AM UTC+1, andreas wrote:

Erick van Rijk

unread,

Jan 22, 2014, 1:47:19 PM1/22/14

to cppu…@googlegroups.com

Hi Robert,

I suspect that most ARM system doens’t really support the concept of NaN (see my post previously).
If you got the memtest working, I should give that another look when I get the time. Any suggestions what you changed to get it working?

Erick

A. Robert S.

unread,

Jan 22, 2014, 9:14:41 PM1/22/14

to cppu…@googlegroups.com

Well… I re-read the entire thread and, apart from the general memory-related problems, I can’t really tell what went wrong specifically with your memory leak tests?

Could you run one of those tests with the -nTEST_NAME option, so it will run only one test? (there is an example of how to hardcode command line options in the cl2000 project folder, assuming your embedded target doesn’t take any).

Robert

Bas Vodde

unread,

Jan 26, 2014, 11:27:21 AM1/26/14

to cppu…@googlegroups.com

Hi Erick,

Ah ok. I actually don’t know. We’ve only ones had someone who said CppUTest didn’t fit, but I believe that was incorrect in retrospect.

So, I’m not quite sure how much is needed, we’ve not been hitting the limit of most people it seems… (or they gave up :P)

Bas

Erick van Rijk

unread,

Jan 29, 2014, 12:19:14 PM1/29/14

to cppu…@googlegroups.com

If I find some time I’ll need to take a look at it. CppUTest seems useful, but depending on the requirements it might be just to big for practical implementations for embedded arm devices. (ie Cortex etc).

If I do i’ll let you guys now.
Erick

A. Robert S.

unread,

Jan 29, 2014, 4:02:00 PM1/29/14

to cppu…@googlegroups.com

Hi Erick,

Most of us actually do testing with CppUTest off-target. I believe this helps with writing platform-independent code. Of course, that leaves out code that depends directly on hardware functions. Some of this can be tested with plain C tests. But there is a point where you also need to stimulate the hardware in some way or other. At work, very expensive test-debugging environments (hard- and software) are used for this. Privately, I haven’t found a good way to deal with testing that kind of code. So I try to move as much functionality as I can into software modules (that can be tested off-target), and the rest is tested manually. I find this is a good discipline — a leap year calculation has no business in the low-level clock driver, for instance. It can live in a library, which can be tested.

There is a place for running CppUTest tests on target, but this is expensive in terms of time, both for development and actually running the tests.

Low-level device driver code often sets or gets hardware registers, or single bits thereof. The most common source of error would be working with the wrong register or the wrong bit (misunderstanding the devices documentation, for example). Theoretically, I could test code like that by substituting all those registers with memory locations. This would be relatively easy, even without CppUTest. But what would be the point? If I got something wrong, then my test will pass (because I constructed it with my faulty understanding), and my code will still fail on the actual device. Conversely, my (faulty) test might fail, but the code would actually run fine on the real device. Therefore, privately, I don’t do these kinds of tests, as I don’t have the kind of equipment to support this.

All the best,

Robert

Erick van Rijk

unread,

Feb 14, 2014, 1:27:33 PM2/14/14

to cppu…@googlegroups.com

Hi Robert,

I do understand that the practice of off-target code is useful. But like you mentioned mockups of a hardware level items ADC/pwm/other nasty ARM stuff, is costly to write. Keil actually has this internally in their simulator, hence the interest in running «on-target» either on actual hardware or simulator.

On larger note, I’m also interested in running CppUTest as a CI check in Atlassian Bamboo. Which is a different beast altogether. Basically I’m trying to wrap my head around if CppUTest is useful for production work.

As I go along i’m still learning TDD and to best way of using it. There is a lot of resistance here (office) and If I want to make a proper introduction it will need to work well.

We will see how far I get with TDD/CppUTest. ;)

Erick

Stefan

unread,

Oct 28, 2014, 6:07:00 PM10/28/14

to cppu…@googlegroups.com

Hi,

thank you all for positing your helpful inputs. I have managed to get CPPUTest running.
My problem is that I need to get it running without using microlib.

has anyone managed to to this? I get following error:

Error: L6200E: Symbol __stdout multiply defined (by stdio_streams.o and retarget.o)

thanks for your help

Best Regards
Stefan

Vitaliy Bortsov

unread,

Oct 29, 2014, 6:27:22 AM10/29/14

to cppu…@googlegroups.com

CppUTest at github have working ARM C/C++ compiler port. Look at README_InstallCppUTest.txt
I write startup files to ARM7 and Cortex-M3 targets, look at platforms_startup/armcc directory. Also have look at platforms_examples/armcc too.

вторник, 28 октября 2014 г., 20:07:00 UTC+5 пользователь Stefan написал:

Stefan

unread,

Oct 29, 2014, 6:44:06 PM10/29/14

to cppu…@googlegroups.com

Hi Vitaliy,
thany you for your hints.

I have found the problem. In order to us it without microlib the UtestPlatform.cpp file in the ARMCC platform specific folder has to be modified.

In the function PlatformSpecificFOpen => replaced with return 0;
In the function PlatformSpecificFPuts => empty function
In the function PlatformSpecificFClose => empty function
I guess they could also be handled in the retarget.c file, but this is not the case

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka11357.html

then there was an other problem with the clock. This fixed it for me:
In the function TimeInMillisImplementation() => clock_t t = 0;

So far it seems to work for me. As other already mentioned STACK and HEAP have to be increased. 0x600/0x8000 works for me.

Best Regards
Stefan

Vitaliy Bortsov

unread,

Oct 29, 2014, 7:44:47 PM10/29/14

to cppu…@googlegroups.com

Vitaliy Bortsov

unread,

Oct 29, 2014, 7:56:24 PM10/29/14

to cppu…@googlegroups.com

Stefan

unread,

Oct 30, 2014, 5:21:30 PM10/30/14

to cppu…@googlegroups.com

Hi Vitaliy,

thank you for the clarification. I will try to change this.

Regards
Stefan

ALSTON NEIL Gama

unread,

Feb 17, 2015, 1:24:02 PM2/17/15

to cppu…@googlegroups.com

Hi Andreas,

I have been searching for an unit tetsing framework to intergrate with Keil uVision for testing. I found Unity and its working with Keil. But i wanted something to go with CPP. I will try something that you have tried here.

I need a favour from you. I am not able to find a document listing all avalibale frameworks. In case if you have any pointers would really helpful.

Thanks in advance.

Regards,

Alston Gama

On Thursday, December 12, 2013 at 6:27:50 PM UTC+5:30, andreas wrote:

I’d like to join Heath Raftery who wrote a very helpful setup-guide. I made the same excercise for Keil uVision lately, here are my findings:

Toolchain:
uVision MDK-ARM Standart Version: V4.70.0.0
Compiler / Linker Toolchain Version: V5.03.0.24

HAL Library:
Standard Peripheral Library for STM32 Cortex M3 Version V3.5.0

Target:

STM32F103VGI chose to set up a simulator project, most because I like the idea of being able to testdrive code before any HW is present. Furthermore I am testing with the same compiler toolchain as my target will use, and last but not least, code coverage / and performance analysis are available in the same environment. Drawback is, that you are kind of stuck to the keil environment. The editor is not a big revelation, nor is the toolchainsettings and the possibilities to automate the tests. But that is whole different story…
I picked the biggest (memory-wise) available CortexM3 core from ST (STM32F103VG) that has a simulator available, since we are using a core of the same family. Check yourself if Keil provides a simulator for a certain core on the Keil webpage.

  • To build the CppUTest library in Keil, I created a new empty Keil project
    in the root folder of cpputest and made the following changes:
    • Target Options->Device Tab->choose «STM32F103VG»
    • Target Options->Target Tab->Code Generation->check «Use MicroLib»
    • Target Options->Output Tab->Create Executable lib
    • Target Options->C/C++ Tab->Define->add «STM32F10X_XL,  CPPUTEST_STD_CPP_LIB_DISABLED»
    • Target Options->C/C++ Tab->Include Paths->add the CppUTest include directory
    • Target Options->C/C++ Tab->Misc Controls->add «—diag_suppress 1300 —diag_suppress 1293  —exceptions»
    • Target Options->Linker Tab->Misc Controls->add «—vfemode=off»
    • added all *.cpp files in srcCppUTest
    • Added srcPlatformsIarUtestPlatform.cpp
    • Changed in UtestPlatform.cpp the return value of the function TimeInMillisImplementation from return 1; to return t; which enables timing.
    • in UtestPlatform.cpp I declared all the functions except for PlatformSpecificRunTestInASeperateProcess and PlatformSpecificGetWorkingEnvironment as extern «C»
  • CppUTest builds with these settings, generating a CppUTest.lib file
  • To build the CppUTest tests, I created a new empty Keil project in the
    root folder of CppUTest, called it CppUTestTest, and made the following
    changes:
    • Target Options->Device Tab->choose «STM32F103VG»
    • Target Options->Target Tab->Code Generation->check «Use MicroLib»
    • Target Options->Output Tab->Create Executable (not Lib) check «Debug information»
    • Target Options->C/C++ Tab->Define->add «STM32F10X_XL,  CPPUTEST_STD_CPP_LIB_DISABLED»
    • Target Options->C/C++ Tab->Include Paths->add the CppUTest include directory
    • Target Options->C/C++ Tab->Misc Controls->add «—diag_suppress 1300 —diag_suppress 1293  —exceptions»
    • Added the include path to the Standard Peripheral Library from STMicroelectronics
    • Added the include path to the ARMCC standard implementations
    • Target Options->Linker Tab->Misc Controls->add «—vfemode=off»
    • Target Options->Debug Tab->check «Use Simulator»
    • Target Options->Debug Tab->create a map.ini file that contains the memory regions with the appropriate permissions
    • Target Options->Debug Tab->Parameter->add «-REMAP»
    • Add all *.cpp and *.c files in tests
    • Add the startupfile for the core. In my case it is «startup_stm32f103x_xl.s»
    • Add the system init file, in my case «system_stm32f10x.c»
    • Add the previously built CppUTest.lib
    • change the file AllTests to be able let the tests run in verbose mode
      int ac_override = 2;

      const char * av_override[] = { «exe», «-v» }; //turn on verbose mode
      return RUN_ALL_TESTS(ac_override, av_override);
    • since Keil does not support semihosting straightaway, you need to retarget some functions. A working retarget sample can be found from this website. Basically what must be done is redefining fputc to redirect the debug output over the ARM ITM interface. Something like this:
      #pragma import(__use_no_semihosting_swi)
      #define ECHO_FGETC
      volatile int ITM_RxBuffer=0x5AA55AA5; /* Buffer to transmit data towards debug system. */

      struct __FILE { int handle; /* Add whatever you need here */ };
      FILE __stdout;
      FILE __stdin;

      int fputc(int ch, FILE *f)
      {
        return (ITM_SendChar((uint32_t)ch));
      }

    • Furthermore, a working clock definition is needed. Keil provides an example here.

Here we are. With this I had a working CppUTest environment under Keil. Debug output (Test results) can be listed via «View->serial Windows-> debug (printf) viewer». I am going along this street now, creating a custom testdriven project. If you admins think it would be useful to create a UtestPlatform.cpp for Keil let me know, I am happy to share my files.

Andreas

jatin jain

unread,

May 19, 2015, 9:13:21 AM5/19/15

to cppu…@googlegroups.com

hi Andreas,

i was trying to use cpputest the way u told in the above message but i am unable to understand following point

  • since Keil does not support semihosting straightaway, you need to retarget some functionsA working retarget sample can be found from this website. Basically what must be done is redefining fputc to redirect the debug output over the ARM ITM interface. Something like this:
    #pragma import(__use_no_semihosting_swi)
    #define ECHO_FGETC
    volatile int ITM_RxBuffer=0x5AA55AA5; /* Buffer to transmit data towards debug system. */

    struct __FILE { int handle; /* Add whatever you need here */ };
    FILE __stdout;
    FILE __stdin;

    int fputc(int ch, FILE *f) 
    {
      return (ITM_SendChar((uint32_t)ch));
    }

in exactly which file do i need to make these changes….?

A. Robert S.

unread,

May 22, 2015, 7:43:20 AM5/22/15

to cppu…@googlegroups.com

The code would go in UtestPlatform.cpp. Have a look at the TI / cl2000 UtestPlatform.cpp. It has code to write all output into a fixed buffer. You should be able to adjust it as described above. It’s a while since I did that one, so I can’t give you details right away, but it should get you going.

Robert

Mat

unread,

Aug 17, 2015, 11:54:44 AM8/17/15

to cpputest

Guillem Coromina

unread,

Jan 3, 2017, 1:57:56 PM1/3/17

to cpputest

Hello everybody and happy New Year,

I know that this post is a bit old but I’ll try to see if there is any reply.

Thanks for the guide Andreas, it has been useful to me.

I have an issue: In UtestPlatform.cpp there is the following function:

static int AtExitImplementation(void(*func)(void))

{

    return atexit(func);

As the standard library definition is disabled there is no implementation for atexit.

Did anybody have this issue or is something that has come up during the evolution of the project?

#
1  

2012-04-03 20:36:52 registers table

kind2011
New member
Registered: 2011-03-30
Posts: 3

registers table

hi i am new with stm32  i dont know where can i find  a table of the all register in a stm32f103re, in the programming manual are just the instrunctions set,
i have some examples of blinky leds, and adc. but  i would appreciate if someone tell me how to know the registers of the microcontroller.
thanks

Offline

#
2  

2012-04-04 06:15:04 registers table

#
3  

2012-04-06 21:21:46 registers table

kind2011
New member
Registered: 2011-03-30
Posts: 3

Re: registers table

thanks that was usefull.

Offline

#
4  

2012-04-06 21:24:23 registers table

kind2011
New member
Registered: 2011-03-30
Posts: 3

Re: registers table

now  i am tryng to simulate a blinky prject with keil uvision4
and load a d.ini file
i am having this error:
Include «C:\Users\Denis\Documents\keil_denis\2-led\d.ini»
MAP 0x00000000, 0x1FFFFFFF exec read write
*** error 129: MapMem — map size truncated to 128MB
MAP 0xED100000, 0xFFFFFFFF read write   
*** error 129: MapMem — map size truncated to 128MB
*** error 65: access violation at 0xFFFFFFF4 : no ‘write’ permission

Offline

Обновлено: 08.02.2023

Информация по компьютеру:
1. Материнская плата — gigabyte ga-h77-ds3h
2. Процессор — Intel Core i3-3240 CPU 3,40Ггц
3. Видеокарта — AMD Radeon HD 7750
4. Память — 4 Гб
5. Блок Питания — 600W
6. Операционная система — XP SP3
7. Драйвера материнской платы
8. Драйвера видеокарты — версия 8.982.0.0 дата разработки 27.07.2012

Кирилл

backsunday, в директории с установленной должно быть две папки Cache,одна в главной папке и одна где то в подкаталогах.
удалите обе.
Как вариант можно попробовать полностью удалить из каталога World of Warcraft следующие папки: WTF, Кэш-памяти и Интерфейс.

Клиент игры при этом должен быть полностью выключен.

Если это решит проблему, но вам неудобно играть без модификаций интерфейса, вы можете переустановить их после того как убедитесь, что игра работает исправно.

Если неисправна память,то ,как правило,появляются синие стоп экраны.
Но все же вы можете убедиться в исправности памяти выполнив тест memtest

backsunday

Активный пользователь

Спасибо.
Когда только установил игру, пару раз выкидывало с синим экраном ссылкой на память. Но после того , как обновил драйвера на видеокарту и установил DirectX этого больше не происходило в течении недели уже. Но вот теперь стало с ошибкой просто из игры выкидывать.
Вообщем то это происходит нетак часто , может раз 2-3 часа выкинуть, при том это не происходит в моменты ,когда перегружен компьютер (когда например много игроков рядом и все кастую т какие заклинания которые завязаны с анимацией и должны сильно грузить память и видеокарту), это почти всегда происходит во время полета через локацию, когда вообщем то не должно вроде быть никаких перегрузок.
p.s. оперативная память у меня Kingston DDR-III 2Gb (2 штуки таких)

Кирилл

backsunday

Активный пользователь

Кирилл

1) Воспользуемся горячими клавишами Win+Pause
2) Открываем пункт «Дополнительные параметры системы»
3) Ищем и открываем вкладку «Дополнительно»
4) Ищем кнопку «Параметры» в «Загрузка и восстановление» и щелкаем на нее.
должны стоять галочки,ксающиеся записи дампа.

перейдите в папку WindowsMinidump и упакуйте ее в архив,архив выложите на файлообменник,ссылку сюда.

backsunday

Активный пользователь

попробывал удалить все папочки из игры ,что рекомендовали (КЭШ,WTF, Интерфейс..)
долго не было ошибки потом выдало новую((

This application has encountered a critical error:

Program: D:игрыWorld of WarcraftWoW.exe
ProcessID: 6032
File: d:buildserverwow1workwow-codebrancheswow-patch-5_0_5_b-branchenginesourceblizzardcoreblizzardcoresourcepackagesutilPatch/PTC_Apply_BSDIff.cpp
Line: 152

Requested 4004968 bytes of memory

ссылка на файл с полным отсчетом об ощибке:

Добавлено через 3 минуты 40 секунд
а папки Minidump нет в папке Windows(
галочки в «Загрузка и восстановление» так стоят:
загрузка и восстановление.JPG

Добавлено через 9 минут 40 секунд
При сегодняшней ошибке из игры выкинуло не сразу, сначала исчезло изображение (экран стал черным, секунд 10 точно так было), свернул игру выскочила ошибка

Кирилл

backsunday

Активный пользователь

В Minidump я так понимаю отсчет теперь появится только когда вылезет ошибка с синим экраном? Настройки поменял там.

Сегодня еще меню пуск начало глючить, когда щелкаешь пуск вспылает полностью черное окно и только , когда под водишь курсор к нему начинают проявляться ярлычки.

Мемтест не получилось пока сделать: диска у меня нет ,чтобы записать на нее загрузочный файл, флоппи для дискеток вообще нет, а с флэшки почему то не хочет грузиться, хотя ставил в БИОСе чтобы с нее шла загрузка(

Кирилл

backsunday

Активный пользователь

Вирусы победили). Теперь ждать пока опять с ошибкой выкинет, чтобы понять что это не из-за них ошибки были или что?

Кирилл

хм.
Судя по всему игра должна летать.
1)замерьте напряжение
2)попробуйте понизить настроики игры
3)скажите существуют ли проблемы кроме игры?
3)замерьте температуры
4)погоняйте видеокарту напимер фулмарком

memtest
FurMark
*
температуры можно замерить с помощью
HWMonitor-отображает значения CPUGPUHDD и т.д.
CoreTemp-отображает температуру ядер процессора
GPU-Z-отображает температуру видеокарты

backsunday

Активный пользователь

2) вчера и сегодня играл весь вечер на рекомендованных настройках в игре все нормально было.
3) кроме игры не было ничего вроде
3) температура видеокарты поднималась 46 градусов при нынешних настройках , поднял на 2 пeнкта настройки с высоких -> максимальные -> Ультра(максимальные настройки доступные в игре)температура поднялась до 53 градусов (данные Catalist Control Center)

Добавлено через 2 минуты 24 секунды
Когда были ошибки про которые писал в начале этой темы я играл на Максимальных настройках (то есть те которые чуть ниже Ультра настроек))

Добавлено через 11 минут 21 секунду
процессор одно ядро 34 минимум — 46 максимум
второе 39 минимум — 49 максиммм

Добавлено через 28 минут 6 секунд
Еще одна проблема появилась при загрузке Windows меню Пуск не появляется около 3-4 минут, висит одна заставка и стрелочка мыши =(

Не нашёл куда написать в тех поддержке, будем верить что и тут помогут.

Периодически вылетает игра, в основном в столицах или когда летишь, в этот момент очень сильно проседает фпс и выбивает ошибку с текстом:

Ниже креплю файл из папки Errors

Помогите хоть кто то, а то очень уже кипит от этого!

На всякий случай вот характеристика системы: i5-4570/z87m-hd3/8гб 1600(11-11-11-30)/GTX 750Ti StormX Dual 2гб —- Windows 10 Pro

Прикрепленные файлы

Играйте на самом работоспособном и стабильном русскоязычном WoW сервере без доната игровых ценностей!

например то, как для древней игры не хватает 8 гиг памяти?! На офе на ультрах у меня фпс 130+

И не совсем этот комментарий помогает с вопросом ЧТо делать. Купить ещё 8гб памяти?

Попробуй поиграть на минималках!

82cee4242d0821938d0a2b2eacc729ad.jpg
fd3f8f55777cc9b0b2f08c69e844efa2.jpg

fd01c21fa14577a82fab7d5adc792e51.jpg
72c0c6415b47f2dc959de2bef5232462.jpg

Попробуй поиграть на минималках!

Мб мне комп продать и купить калькулятор для игры на минималках?

Мб мне комп продать и купить калькулятор для игры на минималках?

Можно, многие тут на калькуляторах 2400 апали!
Но я, кстати, не шутил, у меня тож так вылетало. Одно время отключил тени и всё стало норм, потом драйвер на видюшку обновился и поставил тени снова — всё норм. Но, опять же, я хз! Потыкай там чё нить с настройками, мб поможет

82cee4242d0821938d0a2b2eacc729ad.jpg
fd3f8f55777cc9b0b2f08c69e844efa2.jpg

fd01c21fa14577a82fab7d5adc792e51.jpg
72c0c6415b47f2dc959de2bef5232462.jpg

да я пробовал настройки ковырять и клиент перекачивал. не помогает

я пол года не играл, раньше фпс 100+ был в даларане, сейчас 30+ за счастье.

У меня такая проблема была после установки текстур из дренора(или катаклизма, не помню что в лаунчере предлагает). После удаления оных все заиграло без вылетов.

У меня такая проблема была после установки текстур из дренора(или катаклизма, не помню что в лаунчере предлагает). После удаления оных все заиграло без вылетов.

Когда по даларану две белки и рангаросс бегал — Кореса с 16гб выкинуло с такой ошибкой.

Я не хотел вас обидеть. Просто случайно повезло.

Помогите хоть кто то, а то очень уже кипит от этого!

На всякий случай вот характеристика системы: i5-4570/z87m-hd3/8гб 1600(11-11-11-30)/GTX 750Ti StormX Dual 2гб —- Windows 10 Pro

это проблемка 10й винды, у меня так же вылетает иногда. стояла 7ка, таких проблем вообще не знал.

Проиграл с подливой

кстати, да, большая часть подобных крашей при прогрузке даларана происходит, иногда ещё на бг бывает.
винда не при чём, выбивает и на моей ХР и на восьмёрке. тут уже с самим изенгардом что-то не так, даже текстурки из дренора на других серверах прекрасно себя показывают без всяких крашей.

blya.1475436584.jpg

Столько бреда и не одиного слова по теме. при чем тут ОС или ОЗУ? Все такие мастера. вы бы еще посоветовали проц простирнуть с посудомойке. Была такая проблема, во-первых: мапстер последней версии. Во-вторых: удали картографер. Таким образом я решил свою проблему вылетов с ошибкой .MapMem.cpp. Так же встречал еще несколько таких же ошибок только с другими файлами, но это уже совсем другая история с другими аддонами.

PS: 16гб рамы 3й, вин 8.1 х64

Прикрепленные файлы

Столько бреда и не одиного слова по теме. при чем тут ОС или ОЗУ? Все такие мастера. вы бы еще посоветовали проц простирнуть с посудомойке. Была такая проблема, во-первых: мапстер последней версии. Во-вторых: удали картографер. Таким образом я решил свою проблему вылетов с ошибкой .MapMem.cpp. Так же встречал еще несколько таких же ошибок только с другими файлами, но это уже совсем другая история с другими аддонами.

PS: 16гб рамы 3й, вин 8.1 х64

Когда по даларану две белки и рангаросс бегал — Кореса с 16гб выкинуло с такой ошибкой.

Вылетает ошибка: «недостаточно памяти для обработки команды». Игра вылетает минут через 5-10, без разницы в какой локации нахожусь, но в инстах не вылетает. Спрашивал у ясеня gogle, не нашёл решения.На компе 4 гб озу, в варкрафт играю около 7 лет, никогда не было таких ошибок. Другие игры, такие как wot не вылетают.

А ответ в теме был. Даже оба.

Если приложение постоянно просит выделение дополнительной памяти, то вариантов только два:

  1. Само приложение или его часть (расширение, плагин. аддон) написано с ошибкой;
  2. Стороннее воздействие на приложение (инжект в любом виде, драйвер) выполняется некорректно.

Соответственно, и вариантов действий два:

  1. Тут два действия:
    • Поскольку сам WoW на Win7 ни у кого больше не вылетает с memory leak`ом, а повреждение исполняемого файла игры так, чтобы возникла именно утечка памяти (без повреждения функционала) практически невозможно (читай маловероятно), считаем, что подобное действие может вызывать аддон. Их нужно отключить и проверить без них.
    • Поскольку используются пользовательские данные, стоит попробовать временно переименовать папки Cache и WTF, после чего попробовать.
  2. И тут два действия:
    • Процесс не всегда выполняет то, что хочет он сам, яркий пример — автологин в игру из лаунчера: используя хуки, WinAPI (read/write-processmemory) и немного ассемблера одно приложение начинает выполнять то, что нужно совершенно другому. по такому же принципу работают и вирусы — в некоторых случаях для скрытия от недо-антивирусов кусок вредоносного недо-кода внедряется в память уже запущенного процесса и уже от его имени выполняется. разумеется, такие недо-обходы пишут недо-носки и, как правило, с ошибками (например, они пытаются внедрятся в D3D-приложение «стандартным» способом). Т.е. нужно проверить компьютер на вирусы/рекламщики, желательно утилитой CureIt и дополнительно скинуть в тему стандартный репорт AVZ;
    • Некоторые такие «воздействия» на самом деле полезные, например, любая видеописалка вынуждена инжектится в процесс. Иногда это может вызывать ошибки, соответственно, необходимо закрыть все приложения, которые работают с D3D: захваты экрана, оверлеи говорилок и т.п. после чего попробовать.

Ну, а вот если ничего из вышеперечисленного не помогло, то уже начинаем танцевать с бубном:

  1. Вспоминаем что делали с компом перед моментом начала вылетов. как правило, конечно, никто ничего не вспомнит.
  2. Пробуем проверить клиент лаунчером. разумеется, не поможет, но вероятность повреждения уберём;
  3. Проверяем какой-нибудь любимой DOS-утилитой память. можно заодно и жесткий, если купить 2 литра пива вместо 0,5. крайне маловероятно, но иногда бывает; Обращаю внимание, что пункты 2 и 3 должны идти именно в указанном порядке — и, в случае обнаружения бэда (проверка HDD желательна), нужно снова проверять клиент;
  4. Танцуем с драйверами: если они недавно обновлялись, то откатываем, если не обновлялись, то обновляем. причем, обновлять нужно всё — ring-0 (или ring-1) он такой. тоже, конечно, маловероятно, но.
  5. Включаем IDA Pro

P.S.: а вообще, всё сказано (но не показано) у ТСа на скриншоте.

Вылетает ошибка: «недостаточно памяти для обработки команды». Игра вылетает минут через 5-10, без разницы в какой локации нахожусь, но в инстах не вылетает. Спрашивал у ясеня gogle, не нашёл решения.На компе 4 гб озу, в варкрафт играю около 7 лет, никогда не было таких ошибок. Другие игры, такие как wot не вылетают.

Прикрепленные изображения

d70eb45ca0bb62b0db5a40a35d22a95f.jpg

Играйте на самом работоспособном и стабильном русскоязычном WoW сервере без доната игровых ценностей!

Попробуйте расширить виртуальную память на системном диске

Изображение

Изображение

Изображение

Попробуйте расширить виртуальную память на системном диске

пробывал, улучшило минут на 5, но всё равно со временем вируалку забивает и клиент вылетает.

d70eb45ca0bb62b0db5a40a35d22a95f.jpg

Попробуй файл подкачки 8 гб сделать

Изображение

Изображение

Попробуй файл подкачки 8 гб сделать

как вычитал на одном из форумов: Обычная утечка памяти.. ничего неожиданного. Было на Havok, было на всех версиях Cry Engine.

Сначала всегда будет утекать оперативная память, затем виртуальная память и вылет .
Выставление больших обьемов Виртуальной памяти проблемы не решит. Совсем. Никак. Даже 40+ Gb.
Т.к. игра онлайновая, а модифицирование клиента считается нарушением клиентского соглашения —
проблема может быть исправлена только разработчиками.

P.S. c размером файла подкачки эксперементировал в доль и поперёк, помогало только увеличением времени вылета от 5 до 20 минут, но проблему не решало.

P.S.S последний раз на изе играл в мае, проблем таких не возникало, систему не менял, озу не докидывал, всё родное как было так и ничего не менялось

d70eb45ca0bb62b0db5a40a35d22a95f.jpg

просто из интереса, попробуй отрубить все аддоны

8bcb8751546729bd1d739b73fbc63053.jpg

Изображение

Изображение

просто из интереса, попробуй отрубить все аддоны

при чём тут аддоны? с этой сборкой аддонов я играю давно, не обновлял не добавлял/не убовлял

d70eb45ca0bb62b0db5a40a35d22a95f.jpg

при чём тут аддоны? с этой сборкой аддонов я играю давно, не обновлял не добавлял/не убовлял

Компу сколько лет?

Скорее всего у тебя просто вирус.

Скорее всего у тебя просто вирус.

да ты кэп, вирус нацеленый на wow?

d70eb45ca0bb62b0db5a40a35d22a95f.jpg

Это, скорее всего, накрывается диск С. Перенеси игру на D и посмотри что будет.

У меня щас тоже часто вылетает, в основном когда лечу из даларана почти 100% краш. Началось вроде после установки win10.

Это, скорее всего, накрывается диск С. Перенеси игру на D и посмотри что будет.

а что так можно было? ты гений.

У меня щас тоже часто вылетает, в основном когда лечу из даларана почти 100% краш. Началось вроде после установки win10.

ну это просто win10, она посути сырая. У меня win7 отключён gogle chrome, и только вовка и вылетает, когда же играю в wot, а он я думаю поджирает не меньше чем вовка, в паралель ещё и по скайпу разговариваю, и в хроме музон играет и всё шито крыто, а тут проказа вылезла. Вот ток почему в цлк 25хм на личе где всё сверкает ни чего не вылетает, вот это странно

d70eb45ca0bb62b0db5a40a35d22a95f.jpg

а что так можно было? ты гений.

к твоему сведению если один винчестер то без разницы c,d,e,f и тд до бесконечности сколько локальных дисков, винч то один и если накрвывается первый, то остальные не спасут, но нет у меня не накрывается винч.

P.S. проверил всё, винч, вирусы, озу, вирт память добавлял/убавлял, аддоны отключал и тд и тп, варианты просто кончились, в чём может быть проблема

d70eb45ca0bb62b0db5a40a35d22a95f.jpg

Это, скорее всего, накрывается диск С. Перенеси игру на D и посмотри что будет.

у него как бы стоит на Е диске.

ТС, прогони чекдиском, может он банально натыкается на бэд сектор. У меня такое же окно вылетает при попытке начать запись, если программу открыть позже, чем саму игру. пишет то же самое. похоже, что одна ошибка на все случаи жизни.

к твоему сведению если один винчестер то без разницы c,d,e,f и тд до бесконечности сколько локальных дисков, винч то один и если накрвывается первый, то остальные не спасут, но нет у меня не накрывается винч.

P.S. проверил всё, винч, вирусы, озу, вирт память добавлял/убавлял, аддоны отключал и тд и тп, варианты просто кончились, в чём может быть проблема

Винчестер имеет разделы и кластеры, тут ты немного не прав.

d8ac573a2988170300ae75b9fdb5bd6f.jpg
c60e3aa76c8d90e4a830b2f2f7e7ec58.jpg

у него как бы стоит на Е диске.

ТС, прогони чекдиском, может он банально натыкается на бэд сектор. У меня такое же окно вылетает при попытке начать запись, если программу открыть позже, чем саму игру. пишет то же самое. похоже, что одна ошибка на все случаи жизни.

Винчестер имеет разделы и кластеры, тут ты немного не прав.

я в курсе, просто не правильно выразился. Попробую прогнать, результат напишу

d70eb45ca0bb62b0db5a40a35d22a95f.jpg

я в курсе, просто не правильно выразился. Попробую прогнать, результат напишу

прогоняй лучше на не запущенной системе, если умеешь. под PE например..

после прогона перемести вов на другой локальный диск и обратно.

d8ac573a2988170300ae75b9fdb5bd6f.jpg
c60e3aa76c8d90e4a830b2f2f7e7ec58.jpg

Вылетает ошибка: «недостаточно памяти для обработки команды». Игра вылетает минут через 5-10, без разницы в какой локации нахожусь, но в инстах не вылетает. Спрашивал у ясеня gogle, не нашёл решения.На компе 4 гб озу, в варкрафт играю около 7 лет, никогда не было таких ошибок. Другие игры, такие как wot не вылетают.

А ответ в теме был. Даже оба.

Если приложение постоянно просит выделение дополнительной памяти, то вариантов только два:

  1. Само приложение или его часть (расширение, плагин. аддон) написано с ошибкой;
  2. Стороннее воздействие на приложение (инжект в любом виде, драйвер) выполняется некорректно.

Соответственно, и вариантов действий два:

  1. Тут два действия:
    • Поскольку сам WoW на Win7 ни у кого больше не вылетает с memory leak`ом, а повреждение исполняемого файла игры так, чтобы возникла именно утечка памяти (без повреждения функционала) практически невозможно (читай маловероятно), считаем, что подобное действие может вызывать аддон. Их нужно отключить и проверить без них.
    • Поскольку используются пользовательские данные, стоит попробовать временно переименовать папки Cache и WTF, после чего попробовать.
  2. И тут два действия:
    • Процесс не всегда выполняет то, что хочет он сам, яркий пример — автологин в игру из лаунчера: используя хуки, WinAPI (read/write-processmemory) и немного ассемблера одно приложение начинает выполнять то, что нужно совершенно другому. по такому же принципу работают и вирусы — в некоторых случаях для скрытия от недо-антивирусов кусок вредоносного недо-кода внедряется в память уже запущенного процесса и уже от его имени выполняется. разумеется, такие недо-обходы пишут недо-носки и, как правило, с ошибками (например, они пытаются внедрятся в D3D-приложение «стандартным» способом). Т.е. нужно проверить компьютер на вирусы/рекламщики, желательно утилитой CureIt и дополнительно скинуть в тему стандартный репорт AVZ;
    • Некоторые такие «воздействия» на самом деле полезные, например, любая видеописалка вынуждена инжектится в процесс. Иногда это может вызывать ошибки, соответственно, необходимо закрыть все приложения, которые работают с D3D: захваты экрана, оверлеи говорилок и т.п. после чего попробовать.

Ну, а вот если ничего из вышеперечисленного не помогло, то уже начинаем танцевать с бубном:

  1. Вспоминаем что делали с компом перед моментом начала вылетов. как правило, конечно, никто ничего не вспомнит.
  2. Пробуем проверить клиент лаунчером. разумеется, не поможет, но вероятность повреждения уберём;
  3. Проверяем какой-нибудь любимой DOS-утилитой память. можно заодно и жесткий, если купить 2 литра пива вместо 0,5. крайне маловероятно, но иногда бывает; Обращаю внимание, что пункты 2 и 3 должны идти именно в указанном порядке — и, в случае обнаружения бэда (проверка HDD желательна), нужно снова проверять клиент;
  4. Танцуем с драйверами: если они недавно обновлялись, то откатываем, если не обновлялись, то обновляем. причем, обновлять нужно всё — ring-0 (или ring-1) он такой. тоже, конечно, маловероятно, но.
  5. Включаем IDA Pro

Скачала с официального сайта клиент игры, все как положенно, далее запустила клиент он обновился и. при запуске вылетает ошибочка (см. фото) кто сталкивался с такой?
Проблем с оперативкой нет, хард работает так же без ошибок стоит винда 10-я железо для такой игры лучше некуда, в чем причина не пойму.
З. Ы. файл подкачки увеличивала не помогло

игра чистая, только скачанная там никаких дополнений там быть не может

PortalX3 Искусственный Интеллект (249646) Зайди на форум по ссылке, что я дал, и почитай — там написано, что надо сделать. Попробуй так же и проверь

да не помогает это! есть прога для исправнения этих багов! когда-то фиксил, сейчас ищу, найти не могу

Читайте также:

      

  • Сталкер зона поражения 2 системные требования
  •   

  • Ошибка 6036 call of duty warzone
  •   

  • Rome 2 total war radious mod как установить
  •   

  • Как запустить киберпанк на 775 сокет
  •   

  • Названия машин гта 5 для замены

If you need more details, pls refer below

mapred.map.child.java.opts is for Hadoop 1.x

Those who are using Hadoop 2.x, pls use the below parameters instead

mapreduce.map.java.opts=-Xmx4g         # Note: 4 GB

mapreduce.reduce.java.opts=-Xmx4g     # Note: 4 GB

Also when you set java.opts, you need to note two important points

1. It has dependency on memory.mb, so always try to set java.opts upto 80% of memory.mb

2. Follow the «Xmx4g» format for opt but numerical value for memory.mb

mapreduce.map.memory.mb = 5012        #  Note: 5 GB

mapreduce.reduce.memory.mb = 5012    # Note: 5 GB

Finally, some organization will not allow you to alter mapred-site.xml directly or via CM. Also we need thease kind of setup only to handle very big tables, so it is not recommanded to alter the configuration only for few tables..so you can do this setup temporarly by following below steps: 

1. From HDFS:

HDFS> export HIVE_OPTS=»-hiveconf mapreduce.map.memory.mb=5120 -hiveconf mapreduce.reduce.memory.mb=5120 -hiveconf mapreduce.map.java.opts=-Xmx4g -hiveconf mapreduce.reduce.java.opts=-Xmx4g»

2. From Hive:

hive> set mapreduce.map.memory.mb=5120;

hive> set mapreduce.reduce.memory.mb=5120;

hive> set mapreduce.map.java.opts=-Xmx4g;

hive> set mapreduce.reduce.java.opts=-Xmx4g;

Note: HIVE_OPTS is to handle only HIVE, if you need similar setup for HADOOP then use HADOOP_OPTS

Thanks

Kumar

  • Forum
  • Input and Assistance
  • Support Q&A
  • Technical mapmem.cpp crash at random times.

  1. Dimos's Avatar


    Member


    Hello there,

    I’ve been always having a problem with that error. At random times, mostly on northend, I get this error a lot. I’ve been searching for a solution here and there and found that:

    http://forum.warmane.com/showthread.php?t=331321

    Although the guy over there had a different error, if I use that program (Large Address Aware) and choose the mapmem.cpp file, will it have the same effect? Will it fix the problem? Or is it another solution regarding this one?


  2. dolcokidol's Avatar


    Member


    It’s the same category of errors.
    You can’t use it on that file (you don’t have that .cpp file), you need to use it on your wow.exe.
    Cant promise it will fix it completely, but it should appear less often with the LAA fix.


  3. Heliox's Avatar


    Member


    I had the same error as you do (mapmem.cpp crash) and it solved my problem, got no errors now, so you should give it a try.


  4. Disktrasa's Avatar


    Forum Veteran


    if I use that program (Large Address Aware) and choose the mapmem.cpp file, will it have the same effect?

    Use the Program «Large adress aware» on your WoW file, It fixes memory crashes in wow, a lot of times when your game crash it’s because wow takes up more memory then it’s «allowed» to, «large adress aware» increases the memory WoW can take from 2gb to 4gb (I think thats correct)
    Usually when you mod your game a lot (addons, patches etc) it causes crashes in memory because WoW wants to use more then the standard set.


  5. Dimos's Avatar


    Member


    Did it, but it seems like nothing for fixed at all :/


  6. Mariadna's Avatar


    Member


    Hi, I’ve got same problem. Have you handle it?



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
  • BB code is On
  • Smilies are On
  • [IMG] code is On
  • [VIDEO] code is On
  • HTML code is Off

Forum Rules

All times are GMT. The time now is 11:25 AM.

Понравилась статья? Поделить с друзьями:
  • Error 1286 42000 unknown storage engine federated
  • Error 1286 42000 at line 1 unknown storage engine archive
  • Error 1285 алайт моушен
  • Error 1285 alight motion
  • Error 128 hdc fifo under