iMX8 Android9 fails to build a new target

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

iMX8 Android9 fails to build a new target

1,641 次查看
mariosan
Contributor II

Hi, all, I've succesflully build the imx-p9.0.0_1.1.0-ga for evk_8mm demo board: now I will want to build a new target.

I've started coping  the android_build\device\fsl\imx8m\evk_8mm into android_build\device\fsl\imx8m\my_8mm and

changed  vendorsetup.sh,AndroidProducts.mk and just only the out directory reference in makefile (my_8mm.mk)...

builds fails with this messages:

hardware/qcom/bt/msm8992/libbt-vendor/src/hci_uart.c:215:65: error: use of undeclared identifier 'BT_HS_UART_DEVICE'
    snprintf(vnd_userial.port_name, VND_PORT_NAME_MAXLEN, "%s", BT_HS_UART_DEVICE);
hardware/qcom/bt/msm8992/libbt-vendor/src/hci_uart.c:376:71: error: use of undeclared identifier 'BT_HS_UART_DEVICE'
        ALOGE( "%s: uart port(%s) has not been opened", __FUNCTION__, BT_HS_UART_DEVICE )

If I disable the Qualcomm BT

BOARD_HAVE_BLUETOOTH_QCOM := true   ===>  BOARD_HAVE_BLUETOOTH_QCOM := false

compilation will be completed, Androis starts  but BTdon't works.

I've not found any differenve between evk_8mm and my_8mm target: anyway compilation fails

if BOARD_HAVE_BLUETOOTH_QCOM is true... any suggestion on how to fix this problem?

Thanks in advance

M. Sangalli

4 回复数

1,341 次查看
taivuong
Contributor I

Hello JimmyChan,

I have the same error than you here is the solution:

1) go to your aosp_folder/hardware/qcom/bt/msm8992/libbt-vendor/include

2) copy vnd_evk_8mm.tx and rename it vnd_evk_my_8mm.txt

3) recompile and enjoy.

Best Regards,

Tai

1,341 次查看
shivanipatel
Senior Contributor II

Hi, mariosan

Please follow below link to add a new device in Android AOSP.

Hope this will help you.

Regards,

Shivani

0 项奖励
回复

1,341 次查看
jimmychan
NXP TechSupport
NXP TechSupport

So, the error is the "BT_HS_UART_DEVICE" did not define. Have you try to define it in a header file?

0 项奖励
回复

1,341 次查看
mariosan
Contributor II

Thank Jimmychan:

No, I've not defined it, because my target is the *clone* of the original imx8mm_evk, just changed the out

directory in makefile, so I've assumed the the build process will  redo same results of original one,

(in which i've not found where such label is defined).

That what I've do:

1. copy android_build\device\fsl\imx8m\evk_8mm-> android_build\device\fsl\imx8m\my_8mm

2. add these lines in vendorsetup.sh:

add_lunch_combo my_8mm-eng
add_lunch_combo my_8mm-userdebug

3. And add this line in AndroidProducts.mk

PRODUCT_MAKEFILES := \
  $(LOCAL_DIR)/my_8mm/my_8mm.mk

4. renamed evk_8mm.mk to my_8mm.mk and changed these lines:

IMX_DEVICE_PATH := device/fsl/imx8m/my_8mm

PRODUCT_NAME := my_8mm
PRODUCT_DEVICE := my_8mm

5. Modified BoardConfig.mk:

IMX_DEVICE_PATH := device/fsl/imx8m/my_8mm

TARGET_BOOTLOADER_BOARD_NAME := MY
PRODUCT_MODEL := MY_8MM

6. run build as documented using my_8mm-eng as target....

This is the line  in BoardConfig.mk that cause trouble:

BOARD_HAVE_BLUETOOTH_QCOM := true

If I set  BOARD_HAVE_BLUETOOTH_QCOM := false, compilation is OK but

BT do not works.

Because build involves a huge numbers of configuration scripts , it is very difficult for me

to figure out where is the problem in creating a new target...

Any suggestion is wellcome

Thanks again,

M. Sangalli

0 项奖励
回复