This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Keil uVision V5 wont show Nordic License, + HID Keyboard issue

Using Keil uVision 5.33 together with Nordic SDK 14.1.0

I'm not able to compile+link the example "ble_peripheral \ ble_app_hids_keyboard" because the code exceeds 32 kBytes. So I've been told to install the license file "nRF5x_MDK_8_15_0_Keil4_NordicLicense.msi" which is supposed to create a license - Keil only shows a "MDK-Lite / Evaluation Version License" - what can I do ?

The other thing is: this example refers to a "Button 0" : (Quote from main.c) Pressing Button 0 will send text 'hello' to ....
But: the PCA10040 board has no Button 0 - what kind of bug is this ?

thanks for any help
matthias

Parents
  • Hi,

    There are no free Nordic licenses for Keil uVision, so if your code size exceeds the maximum size in the free version, 32 Kbyte, then you must buy a Keil license to use it. The file nRF5x_MDK_8_15_0_Keil4_NordicLicense.msi, is not a license for Keil, but the nRF MDK, which is a development kit needed to interact with our SoCs and SIPs using 3rd-party IDEs, by providing hardware descriptions and startup files for our devices. This is also called the Device Family Pack.

    We recommend using SEGGER Embedded Studio (SES) as IDE, which you can get a free license for when using it with Nordic Semiconductor devices. For more information about SES, you can check out the Getting started with nRF5 SDK and SES.

    You should press button 1 to send the sample text, as described in the example's documentation here.

    Mentioning button 0 in the example might be a bit confusing, but what they are referencing is BSP_BUTTON_0. You can see this in the code where the button press event for this button is handled, in the case BSP_EVENT_KEY_0 in bsp_event_handler(). If you look at where this event is defined (in the file components/libraries/bsp/bsp.h), you will find that it is the default event of the push action of BSP_BUTTON_0. Since the examples can be used with several different boards, they use general buttons such as BSP_BUTTON_0, and then define the buttons themselves in the board files. BSP_BUTTON_0 is used to represent the first button on the board. If you look into the board file for the nRF52 DK (pca10040), components/boards/pca10040.h, then you will see the following definitions for the buttons on that board:

    #define BSP_BUTTON_0   BUTTON_1
    #define BSP_BUTTON_1   BUTTON_2
    #define BSP_BUTTON_2   BUTTON_3
    #define BSP_BUTTON_3   BUTTON_4

    Is there any specific reason why you are using v14.1.0 of the SDK? I would recommend using the latest version instead, v17.0.2, as there has been several changes and fixes between the versions.

    Best regards,

    Marte

Reply
  • Hi,

    There are no free Nordic licenses for Keil uVision, so if your code size exceeds the maximum size in the free version, 32 Kbyte, then you must buy a Keil license to use it. The file nRF5x_MDK_8_15_0_Keil4_NordicLicense.msi, is not a license for Keil, but the nRF MDK, which is a development kit needed to interact with our SoCs and SIPs using 3rd-party IDEs, by providing hardware descriptions and startup files for our devices. This is also called the Device Family Pack.

    We recommend using SEGGER Embedded Studio (SES) as IDE, which you can get a free license for when using it with Nordic Semiconductor devices. For more information about SES, you can check out the Getting started with nRF5 SDK and SES.

    You should press button 1 to send the sample text, as described in the example's documentation here.

    Mentioning button 0 in the example might be a bit confusing, but what they are referencing is BSP_BUTTON_0. You can see this in the code where the button press event for this button is handled, in the case BSP_EVENT_KEY_0 in bsp_event_handler(). If you look at where this event is defined (in the file components/libraries/bsp/bsp.h), you will find that it is the default event of the push action of BSP_BUTTON_0. Since the examples can be used with several different boards, they use general buttons such as BSP_BUTTON_0, and then define the buttons themselves in the board files. BSP_BUTTON_0 is used to represent the first button on the board. If you look into the board file for the nRF52 DK (pca10040), components/boards/pca10040.h, then you will see the following definitions for the buttons on that board:

    #define BSP_BUTTON_0   BUTTON_1
    #define BSP_BUTTON_1   BUTTON_2
    #define BSP_BUTTON_2   BUTTON_3
    #define BSP_BUTTON_3   BUTTON_4

    Is there any specific reason why you are using v14.1.0 of the SDK? I would recommend using the latest version instead, v17.0.2, as there has been several changes and fixes between the versions.

    Best regards,

    Marte

Children
No Data
Related