Keil ARMCC features error

Sysprogs forums Forums VisualGDB Keil ARMCC features error

Viewing 15 posts - 1 through 15 (of 18 total)
  • Author
    Posts
  • #24084
    MystikReasons
    Participant

    I tried to use a library (see screenshot #1 – library including) which was created in uVision 5 Keil and implemented it into VisualGDB.

    I noticed that the following tutorial is outdated: https://visualgdb.com/support/linkerinputs/ could you please update this?

    In the Keil Components window I also added “CMSIS->CORE” and “Device->Startup”.

    With the library I tried to create a small program which builds and programs just fine in Keil:

    I’m using Visual Studio 2019 Preview 4 with VisualGDB 5.4R3 build 2958.

    #include "TouchP0P1.h" // Library mit P0-, P1-Definition
    
    int main(void)
    {
     InitTouchP0P1("1");
    
     RCC->APB2ENR |= 1 << 2; // Enable GPIOA clock, Input  RCC->APB2ENR |= 1 << 6; // Enable GPIOE clock, LEDs  GPIOA->CRL &= 0xFFFFFFF0; // Configure the GPIOA 0..7
     GPIOA->CRL |= 0x00000088; // Pullup Input PA_0, PA_1
    
     RCC->APB1ENR |= 1 << 3; // Timer 5 Clock ON  TIM5->ARR = 0xFF; // T5 Autoreload > 0
     TIM5->CNT = 0x0000; // Zählwert nullen
     TIM5->SMCR = 0x0057; // Timer5 Ext Clock-Mode1
     TIM5->CR1 |= 1; // Timer5 ON
    
     // Endlos-Schleife
     while(1)
     {
     P1 = TIM5->CNT; // Timer5 Zaehlwert zu P1 LEDS
     }
    }

    On Visual Studio I get the following errors:

    ------ Erstellen gestartet: Projekt: Timer_MCB32, Konfiguration: Debug VisualGDB ------
    1>P0toP1.c
    1>system_stm32f10x.c
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(129): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regControl
    1>_ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(141): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regControl
    1>_ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(141): warning : #550-D: variable "__regControl" was set but never used
    1> register uint32_t __regControl __ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(153): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regIPSR
    1>_ASM("ipsr");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(177): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regXPSR
    1>_ASM("xpsr");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(189): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regProcessStackPointer
    1>_ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(201): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regProcessStackPointer
    1>_ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(201): warning : #550-D: variable "__regProcessStackPointer" was set but never used
    1> register uint32_t __regProcessStackPointer __ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(213): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regMainStackPointer
    1>_ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(225): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regMainStackPointer
    1>_ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(225): warning : #550-D: variable "__regMainStackPointer" was set but never used
    1> register uint32_t __regMainStackPointer __ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(237): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regPriMask
    1>_ASM("primask");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(249): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regPriMask
    1>_ASM("primask");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(249): warning : #550-D: variable "__regPriMask" was set but never used
    1> register uint32_t __regPriMask __ASM("primask");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(129): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regControl
    1>_ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(141): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regControl
    1>_ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(141): warning : #550-D: variable "__regControl" was set but never used
    1> register uint32_t __regControl __ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(153): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regIPSR
    1>_ASM("ipsr");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(177): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regXPSR
    1>_ASM("xpsr");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(189): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regProcessStackPointer
    1>_ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(201): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regProcessStackPointer
    1>_ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(201): warning : #550-D: variable "__regProcessStackPointer" was set but never used
    1> register uint32_t __regProcessStackPointer __ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(213): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regMainStackPointer
    1>_ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(225): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regMainStackPointer
    1>_ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(225): warning : #550-D: variable "__regMainStackPointer" was set but never used
    1> register uint32_t __regMainStackPointer __ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(237): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regPriMask
    1>_ASM("primask");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(249): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regPriMask
    1>_ASM("primask");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(249): warning : #550-D: variable "__regPriMask" was set but never used
    1> register uint32_t __regPriMask __ASM("primask");
    1> ^
    1>P0toP1.c: 4 warnings, 10 errors
    1>Die Erstellung des Projekts "Timer_MCB32.vcxproj" ist abgeschlossen -- FEHLER.
    ========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ==========

    Am I doing something wrong?

    • This topic was modified 5 years ago by support. Reason: formatting
    Attachments:
    You must be logged in to view attached files.
    #24089
    support
    Keymaster

    Hi,

    The linkerinputs page indeed uses old screenshots, however it still reflects the structure of the GCC’s linker inputs and does not apply to Keil projects (since the Keil compiler has its own documentation and support, we would advise checking it first).

    The errors look like the Keil compiler is missing some target-specific flags. Please try enabling the “generate .bat file” option in the uVision GUI, build the project and check the armcc command lines in the generated bat file (they will refer to reponse files with the actual command line parameters). Then check the command-line options used by VisualGDB by viewing the .gcc.rsp files in the VisualGDB\Debug subdirectory. If you could identify a specific flag that is different between uVision and VisualGDB, please either add it via VS Project Properties -> C/C++ -> Command Line, or let us know and we will see why VisualGDB doesn’t add it automatically.

    If you cannot find the difference between the 2 projects, we would need to know the exact steps to reproduce it on our side so that we could check what is going on.

     

    #24099
    MystikReasons
    Participant

    Ok so I created the batch file under uVision and this is the content:

    SET PATH=C:\Keil_v5\ARM\ARMCC\Bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\dotnet\;C:\PROGRA~2\PICC;C:\WINDOWS\System32\OpenSSH\;C:\PRA846~1\CCSCCO~1\PICC;C:\PROGRA~2\MICROC~1\PICC;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Users\jense\AppData\Local\Microsoft\WindowsApps;
    SET ARMCC5_ASMOPT=–diag_suppress=9931
    SET ARMCC5_CCOPT=–diag_suppress=9931
    SET ARMCC5_LINKOPT=–diag_suppress=9931
    SET CPU_TYPE=STM32F107VC
    SET CPU_VENDOR=STMicroelectronics
    SET UV2_TARGET=Target 1
    SET CPU_CLOCK=0x00B71B00
    “C:\Keil_v5\ARM\ARMCC\Bin\ArmCC” –Via “.\objects\p0top1.__i”
    “C:\Keil_v5\ARM\ARMCC\Bin\ArmCC” –Via “.\objects\gpio_stm32f10x.__i”
    “C:\Keil_v5\ARM\ARMCC\Bin\ArmLink” –Via “.\Objects\Timer.lnp”
    “C:\Keil_v5\ARM\ARMCC\Bin\fromelf.exe” “.\Objects\Timer.axf” –i32combined –output “.\Objects\Timer.hex”

     

    And this is the content out of the .gcc.rsp file in VisualGDB:

    -IC:/Users/jense/source/repos/Timer_MCB32/Timer_MCB32 -IC:/Keil_v5/ARM/pack/Keil/STM32F1xx_DFP/2.2.0/Device/Include -IC:/Keil_v5/ARM/ARMCC/../pack/ARM/CMSIS/5.2.0/CMSIS/Include -IC:/Keil_v5/ARM/ARMCC/../pack/Keil/STM32F1xx_DFP/2.2.0/Device/Include -IRTE -IRTE/Device -g -O0 -DSTM32F10X_CL -D_RTE_ -DDEBUG=1 -DDEBUG=1 –split-sections –apcs=interwork –gnu -c “P0toP1.c” -o “VisualGDB/Debug/P0toP1.o” –depend “VisualGDB/Debug/P0toP1.dep”

    #24113
    support
    Keymaster

    Please check the contents of the “.\objects\p0top1.__i” file listed in the Keil’s batch file. It is the response file mentioned in our previous reply and it should contain the actual command line arguments for the Keil compiler. Please also double-check that the P0toP1.c file is indeed the one triggering the problem (you can recheck it by compiling just the current file by pressing Ctrl-F7 in Visual Studio).

    #24117
    MystikReasons
    Participant

    I’ve tried to remove the “P0toP1.h” file and the .lib file and comment every code in the P0toP1.c which was related to it and I still get some errors (only the while loop was left uncommented):

    But its not the P0toP1.c file because Ctrl+F7 builded it without errors

    1>------ Erstellen gestartet: Projekt: Timer_MCB32, Konfiguration: Debug VisualGDB ------
    1>system_stm32f10x.c
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(129): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regControl
    1>_ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(141): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regControl
    1>_ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(141): warning : #550-D: variable "__regControl" was set but never used
    1> register uint32_t __regControl __ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(153): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regIPSR
    1>_ASM("ipsr");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(177): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regXPSR
    1>_ASM("xpsr");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(189): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regProcessStackPointer
    1>_ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(201): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regProcessStackPointer
    1>_ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(201): warning : #550-D: variable "__regProcessStackPointer" was set but never used
    1> register uint32_t __regProcessStackPointer __ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(213): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regMainStackPointer
    1>_ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(225): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regMainStackPointer
    1>_ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(225): warning : #550-D: variable "__regMainStackPointer" was set but never used
    1> register uint32_t __regMainStackPointer __ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(237): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regPriMask
    1>_ASM("primask");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(249): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regPriMask
    1>_ASM("primask");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(249): warning : #550-D: variable "__regPriMask" was set but never used
    1> register uint32_t __regPriMask __ASM("primask");
    1> ^
    1>RTE/Device/system_stm32f10x.c: 4 warnings, 10 errors
    1>Die Erstellung des Projekts "Timer_MCB32.vcxproj" ist abgeschlossen -- FEHLER.

    This is the content of the p0top1._i:

    --c99 -c --cpu Cortex-M3 -D__EVAL -g -O0 --apcs=interwork --split_sections
    -I.\RTE\_Target_1
    -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.2.0\CMSIS\Include
    -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Device\Include
    -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\RTE_Driver
    -D__UVISION_VERSION="524" -D_RTE_ -DSTM32F10X_CL
    -o .\objects\p0top1.o --omf_browse .\objects\p0top1.crf --depend .\objects\p0top1.d "P0toP1.c"

    I’ve sent you both projects (VisualGDB & Keil) with the library via the Support in a .zip file to see if you can find the problem .

    • This reply was modified 5 years ago by support. Reason: formatting
    #24140
    support
    Keymaster

    Sorry, we are not able to review specific projects for errors as a part of our regular product support, however we are happy to share detailed instructions on diagnosing this so that you could narrow it down on your side.

    Please try reducing the problem to a specific source file. You can do this by trying to build each of the files in the project one-by-one via Ctrl-F7, or by removing files form the project one-by-one and then building it again.

    Once you get to a specific source file, please try running the following command from your project’s directory:

    C:\Keil_v5\ARM\ARMCC\Bin\ArmCC --Via VisualGDB\Debug\<file>.gcc.rsp

    This should get the same build errors as you are getting in Visual Studio.

    Then compare the .rsp file used in that command line with the .i file from Keil, try adding or removing options that are different and re-running the compilation from command line to see whether this fixes the problem. Once you narrow it down to a specific option, we can help you find the VisualGDB setting that controls it.

    #24141
    MystikReasons
    Participant

    The problem is I only have one/two source files in my project and they build without errors (see screenshot#1 for project files).

    See screenshot#2 for the content in my project folder.

    See screenshot#3 for a whole rebuild of the project source files.

    If there are more source files how can I access them/see which of them are being used in my project?

    Attachments:
    You must be logged in to view attached files.
    #24145
    MystikReasons
    Participant

    Update: I tried to manually recompile every single source file in VisualGDB and I got in two source files errors (P0toP1.c excluded):

    startup_stm32f10x_cl.s:

    1>startup_stm32f10x_cl.s
    1>RTE\Device\startup_stm32f10x_cl.s(159): error : A1854E: Unknown opcode 'BLX', maybe wrong target CPU?
    1> 159 00000002 BLX R0

    system_stm32f10x.c:

    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(129): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regControl
    1>_ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(141): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regControl
    1>_ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(141): warning : #550-D: variable "__regControl" was set but never used
    1> register uint32_t __regControl __ASM("control");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(153): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regIPSR
    1>_ASM("ipsr");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(177): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regXPSR
    1>_ASM("xpsr");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(189): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regProcessStackPointer
    1>_ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(201): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regProcessStackPointer
    1>_ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(201): warning : #550-D: variable "__regProcessStackPointer" was set but never used
    1> register uint32_t __regProcessStackPointer __ASM("psp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(213): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regMainStackPointer
    1>_ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(225): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regMainStackPointer
    1>_ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(225): warning : #550-D: variable "__regMainStackPointer" was set but never used
    1> register uint32_t __regMainStackPointer __ASM("msp");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(237): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regPriMask
    1>_ASM("primask");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(249): error : #1114: this feature not supported on target architecture/processor
    1> register uint32_t __regPriMask
    1>_ASM("primask");
    1> ^
    1>C:\Keil_v5\ARM\pack\ARM\CMSIS\5.2.0\CMSIS\Include\cmsis_armcc.h(249): warning : #550-D: variable "__regPriMask" was set but never used
    1> register uint32_t __regPriMask __ASM("primask");
    1> ^

    In the STM32F1xx_OPT.s I get no errors (see screenshot#1 for the projects components in VisualGDB)

    Attachments:
    You must be logged in to view attached files.
    #24169
    MystikReasons
    Participant

    So I found out that I’ve selected an wrong Keil Component (Device/Startup instead of Device/GPIO).

    So I selected the other one and changed the tab to the MSBuild settings and got this message:

    VisualGDB version: 5.4.103.2978
    —————— us1+e ——————
    us1+e: VSProjectWrapper: project object not found
    at us1.w.a1()
    at us1.x.d()
    at VisualGDB.Common_GUI.WPF.Property_pages.MSBuildSettingsPage.ControllerImpl.ImportSettings(Object settingsObject, Object pendingChanges)
    at VisualGDB.Common_GUI.Configuration_editors.ProjectPropertiesEditModel.c1.s.Import(s02 a, VisualGDBProjectSettings2 b)
    at VisualGDB.Common_GUI.Configuration_editors.ProjectPropertiesEditModel.v.c(Object a, RoutedEventArgs b)

    After that my project was unloaded and I tried to reload it and got an error message (see screenshot#1).

     

    I then deleted the project and tried to setup a new one with the VisualGDB import manager for keil projects.

    The first message of the Clang Intellisense was that it couldn’t find “core_cm3.h” and that no components in the Keil Components window were selected so they haven’t gotten imported.

    See screenshot #2 for the MSBuild settings window and screenshot #3 for the Keil Component window

    Attachments:
    You must be logged in to view attached files.
    #24174
    MystikReasons
    Participant

    Additional information: The box in the Keil Components “Automatically manage the RTE_Components.h file” was activated and the two Keil Components which should have been imported were “CMSIS/Core” and “Device/GPIO”.

    And the other errors (from the first post) are still there

    #24175
    support
    Keymaster

    The issue with the VC project looks like the RTE_Components.h file got included in the project twice. We have rechecked the scenario you described, however it did not trigger on our side, so it could have been caused by some changes you previously made to the project file. Either way, removing the second reference to the header file from the .vcxproj file should get it back to work.

    The behavior with the project importer is a known limitation – as of March 2019, the Keil project importer can recognize files, preprocessor macros and include directories, but not specific Keil frameworks. As a workaround, please specify them manually after you import the project.

    Regarding the build issues from the beginning of the thread, please carefully follow the instructions we posted earlier and you should be able to narrow the issue down to a specific flag that is different between the working and non-working project.

    #24890
    roguebear
    Participant

    I think this may be the VisualGDB’s bug.

    I have a mdk project and compiler no error. but when I import to vs, I also get the same error like

    #1114: this feature not supported on target architecture/processor EmbeddedProject2 F:\V7\Study\ucos\Libraries\CMSIS\Include\cmsis_armcc.h 132

    __STATIC_INLINE uint32_t __get_CONTROL(void)
    {
    register uint32_t __regControl __ASM(“control”);  //<———–here
    return(__regControl);
    }

     

    if I use default ARM complier, there is no error, but there are errors when use “Keil ARMCC”.

    by the way, in the project, there is no CMSIS package or other keil run-time enviironment.

     

    #24891
    support
    Keymaster

    According to our records, it looks like your trial period has expired. In order to get further technical support, please consider purchasing a license.

    Please note that installing VisualGDB on another PC, editing registry to affect the trial counter, or creating further forum accounts does not reset your trial period from the support point of view.

    As providing quality technical support for our users requires continuous effort on our side, we do expect our users to play fair and are not able to offer any help once the original trial period expires.

    #24892
    MystikReasons
    Participant

    Hi @roguebear

    I found this from keil: http://www.keil.com/support/man/docs/armerr/armerr_dom1365070466238.htm (see error number #1114)

    “by the way, in the project, there is no CMSIS package or other keil run-time enviironment.” This is because you don’t have the Custom Edition or higher. You have to edit it via the makefile in your project folder.

    You can try this new tutorial from SysProgs to identify problems with imported projects: https://visualgdb.com/tutorials/arm/import/diagnose/

    • This reply was modified 4 years, 10 months ago by MystikReasons.
    #24895
    roguebear
    Participant

    Very much thanks to you! I see the artical  https://visualgdb.com/tutorials/arm/import/diagnose/.

    It’s terrible complex……

    Will visualGDB update and can compiler keil project much more esay?

Viewing 15 posts - 1 through 15 (of 18 total)
  • You must be logged in to reply to this topic.