This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640: A valid OAD header was not found in the image

Part Number: CC2640
Other Parts Discussed in Thread: , CC2540, CC2650

I'm trying to implement On-Chip OAD using CC2640. I followed cc2640 BLE OAD User's Guide and when I added SimpleBLEPeripheral image to BLE Device Monitor I got a message "A valid OAD header was no found in the image. Using generated header".

Why would I get this when I  made no changes to the project?

Thanks

  • Hi Mario,

    It sounds like there isn't a valid metadata vector in the hexfile - try using the oad_image_tool to generate the vector and insert into the image.

    See the software-dl.ti.com/.../oad.html

    Regards,
    Rebel
  • It looks like that's for another part, I am using cc2640 and those instruction are for cc2640r2f. I'll look to see if it will work for mine.

    Thanks!
  • Hi Mario,

    The tool produces metadata vector that's compatible with the OAD profile we defined (which can work on any device)

    Regards,
    Rebel
  • Hi Rebel,
    it looks like when i use BLE monitor and load .bin file the OAD header is fine, but when I load .hex file the OAD header was not found. Why would that be?

    Thanks,
    Mario
  • Hi Mario,

    Actually, I highly recommend using BTool for OAD instead. Although slower right now, it's much more robust.

    I'd download the CC2640R2F SDK and use the included btool on there. ( see processors.wiki.ti.com/.../CC2640_OAD_User's_Guide )

    It only takes BINs, so none of that hex file annoyances.

    Regards,
    Rebel
  • Hi Rebel,

    I switched to using BTool now and followed instructions and when I went to OAD tab and loaded an image the image metadata had invalid fields. Why do you think that is? I am using IAR btw.

    Thanks

  • Would it be possible for you to attach your hex and bin file on here?


    Does the default example work for you? (Without any modifications?)


    Regards,

    Rebel

  • Yes I can attach the files. I just have to figure out how to do it. I tried attaching and it didn't let me attach a bin file. so I changed the extension to .txt.

    The default example didn't work, that's where I'm seeing a problem with BIN file image metadata.

    Thanks

    O�(BBBB����@D 9������������Y��������t}pG��l(}uFpG��`�iG��X	jG:�����8����H�h����aO��0������F����h!����$�8��������XF�h!���ii�i�B8� ���2�p���hhF
    F�h!F���4auap�-��G�F��@��HHh�Y�FO��:��i�i�G��(��h��	PE���F��B�.F-h��(�Ѹ���hHE��1i)� ���`��PF���-��A�������WF�h!��!��!�ni)h*h��q�B� �����+���$�1F ����?F�B����j��F�(�1F ����F�i��F���B8�F����� (� ��.`������8�FF�`hi��D' a�a!F�i�a ��h��<D��(�� F��2@<�1��`�a"a�a��F��'��hD��8���WF(�(���(Ѩh!��)hji+h�A�BӢh�`#��ki�B�F��4@,�����h�` ����(��1�8�F����F F������!������hIi�B����h��pG�`pGpG��pGpG������8�$���W�hhP�$�Gd(h�B��1����� !���pG!�h
    h`P`FpGh�B� pG pGBh`J``A`pG�F����F hh"`hT`������@``pG8�F
    F����,`ahi`ah
    `e`����1�hBh`AhhA`pG���F~ ra�!���h D�T�  ` ``�8�F����F |(� F����  t)F�h���~�p�F��.��F
    �kF2F��\������ � � ������F`�������:��8�F��,i�����-���hiF D��y���(��������0F�#�����F������ � ��a������`�@`�����|� ���� �p�p�F��x�F���h.0F��;�8�(z�N� h�@h�3����F0F��&�F 0t�h������h!F������(F��p@������!�-��CF��TV�j����h�h(a�``j�` j`b ��(� �����F����!i�h�h�G����HF���� (�����`�`�������F%i`h������ai��0F����F0F������`h@�������ai���B���p����E&i����F`h������ai���B��m�F��P�,�  ����0F��p@f�  ����p��$�!F ��d��$h�B�� �@��	h�B��O��0�	���D�H�A�pG��89� ������b���(Jh"���������
    �����%���@(���pG�����D`h����G���D�%i`h������������ai���B�0F��F�F0F��H���`h(��  ���`h�i�C``8F"�����hpG��FFFF��I��`�G�� �=� ���G��b(F��� �p�F����F���� ������F�j)F�����D�iAhCA`������p@4�p����p�ab��� FpG8�F
    F����aj)C������2@��`a ai�@�apG0i�`pi a�i�pG�i`b b���ai@i�b������!������C  ����`h(��`h�������i��ai�B	�"i`ah a���d� �(������xC ������  ���@��8��M��$�!F ��!��d��ph�B��$��DV�(kP�$!���d���h�B��O��02�_����������C��]�`h(��`h�������i��`ah a  � �������������� i����������"
    �pG �X���l����B � ��������j�����pG����B � ��������\�  ����tipG\	 ��(�pG���D�F��T�hI�`ф�� ��������p���8i����F��,�F F��  u F������� F���(F��	 ���p@���	 -��AFF�i�`
    Fpj�F���<h`b7j���4h���iABJ�@�@�@ b8@�a�"b�aO��0`b�b0i�bpi c�j`c����(�����hI�`AF F��F@F������ ��R@�a��aF�i`jCF��( b�� ���p�
    FF+F���$����;� a(F�{�8�  u �a�h��,)
    �!�`���	hD d!F�����h!�@�`�h�i��� d���F����F F�*��� p����(F��|Fx�-��AF/M&loh�����p�0F��?��'�h`(i�B� ha  u (����8�����F)F F�����1�-��A��|cwhF�F�h l!F�� �E�p`  u0�������A:怵������#h�B���2�����
    �
    ���+� ��@��(���G��@����
     �	 ���V��O��0��~��~��t�8�FFF�F+F�L�``(F���� 2����!��������� p�@��hE�����Q��������!������������Ai�i���9a$O��1`�!F �l�!�P�d���h�B������1�����F���"FF���h�F�ihQ� ��B��!���h���#����" F�n� �����`pih`0j��� (t 1�� ��	�@��`!F(F��F F�B�����8�F!{���F�!| )ҡh����@B`�	�����@j@�%@(F��!|(F��� {�D�(F�j� �`2��������!�i���`h�B�#�A�#@[���A$h�B�+2�R�#@���A$h�����!Ahh!�A�!���!QA` !�v���	h�`�6� !������pG���pG@�������pG(���Ӡ�R	8#���@�����1@
    �(�i
    i2��
    a� �pG(��<Ӡ�R	8#���@����1@
    �(�i
    iR��
    a� �pG��� �i�h�B�`pG����@ i��  `�0���� �iC`Ti�`%F*x�*�"!`F0�")����)��iYa��
     ��� (Dӂ��pG((���pG��`B`pG(���p8��pG��40[h"���\!h��G���������ђ�	 ���ʲ���������	 -��AF��W�����F����F �����F��T�I@j����P�!p�`��B�xh�h�G��;�@F����� �������z�
    ����|�F
    F�iF� j�"�� k�+F�j�2F�j j�i ��v���ThpGpG�������� pG�F��<h"! D�{� ``�8�FSM`h)i�B���hO��1 D����(i`` 2� 2�1�A`���	hD��M�pG� pG���}�����D�"
    `�D�O�r
    `@D�O�0`pG���%�H�`�H�Q`@H��`pG�F ��
    #G��a�u�#�B(�O��0��F��� ��O���O8��B�F!F��@ ��-��A�F
    F��
    ��E��g�w�oA4"D�A@F������g��������h(���x@h(Ё��!��O��0����h(���T@h(Ё�!�{)���pG
     ��F��v�F��,U��,u �a��o��j	j �G0i���/4�! ��t�:hh#! �G�� `���h!��!A�1` (`��������Dh��`i�i��@G�� ;���F
    F�U���
    g2F;F���=���#�3�3��#��������D!`!�a!` h�������	h	j �G h�8�F���F F������� 2�-��AFF�i�F0FF�i�$���<Fv`��i#AF0F�Q��hiiϹ��h�h���� ���ih9`�ihIhy`ihIh`ihO`�s��9 F�4�(h�� `�#������FFF�i�iF0F���v`/��i#9F0F��hi�h�� F��(h�� `���(i�qh!P FpG-��C������FhFF���	�B��:F F��%`d`��E���F�`JFAF(F��.`�����l	x)���h� � ��pG����������� H$h�G���F���h�-��AF�F��FF@F����F���h-�(F���hCF:F1F����@F����h����h���4#����"@F����8F�������#���p�F�F�����*F!F�M�0Fp�
    iB`Ji�`Ii�`pG��F���h
    FF�N�ah&z
    @���hs�B����� �R�D�`a`����8F���T�(�pG� ��U#��@h�"��<� ��g�� pG�h
    `�hH`�`pG�	 �� 	h!�
    ��B��FpG pG�����pG8�!��$��W�hhP�$�Gd(h�B��������Vh�G$�hhP�$�Gd(h�B��1������pG��-��G
    F&�F-���������v������$�������h0�(�X�$ �GJ�$d�B�� ���F�	�	��|h�E�&$� @d�B�Z�$��X�$�GJ�$��� ��0����`�� 8`����O��0pG�F�� F����h��@G 	@���h�r��8�F����������5Jhh$�B�hC�"PJhRJ`�$���� F2� 	@�F�
    � F���	h��@G����p�F������U����nh�)h�vQ��G. F�ڽ�p@�3��	 $C��$C 	@, 	@��%���F�$�� ������"FO��1pG�
    ��O��0�������#����w���F���%�(�,��
    ��s�m�5���%)���.�-)� ���'�� ��0)� ���� � �O��0�
     *)�!h!`Q�+!`����*�"�� �RB�
    ���09������0
    *��.)�!���*)������)D� ����
    ���09������0
    *������l)�L)� ������ ������ d)�i)�
    ѽ�(�����o�	���B����
    #u)�#x)#o)ѽ�8��p)�� h `h������B���������/�c)� h `h� `#�"��@�@ �p��@� `�p �s)��~�����0���?�������B����@��(������B���@��0c6h�kF"F�
    ��GE��@���8���3�m�@����A�P��@���
    ��`�m���(?���@�?����m��
    ��
    � p(F�p�0��	xR�pG� !
    �:����pG���	xRpG h `h `pG h `P� `pG�$%+D�[B)�IBR-%������'�dy\�1F)�єB��0!�d��)��]��Fh)�I`h�J`p��y���� F��@�o�~I	hG~I	hG}I	hG}HhG|HhG pGpG��pGpG�F`h� �FF hT�����hA�`ah)��`` �-��AF�F��F�$�F�.�
    )�#hH����������h.� F�@�@�B�#F��)F�s��8F�����>�
    FBI	�F�BF(����@I	��B�����!FBh(F��>�-I	�1��!F(F��>�GKh�,H�G��t!��jFBI�G�>�-��CH�G��wF�F&t� ��:FAF����F�)"� � ��@F�i���hȱehu�(F�����	@�E�+F�PIF����)ۣh�D���0F���@FE��%sκ%pH
     �ƺ: 0����n�L
     �T
     ��4\
     @8< ($,D��x��&h.&
    F�0F��J��B8�h�!hD!`r�]��xdc.runtime.Startup: 'maxPasses' exceeded(null)0123456789abcdef('%s'){module#%d}{module-rope:%x}"%s", line %d: ���!hF�� �������-��A��Fh�FF"&hx �$/���8�_x�L/`�V��hAF����%�F/
    �V��AFV��� �hF�h�����S/�V��a&`#F(���i�h���������D��&h!�`")h	)`f/�)�)�6�!����ip!�`&`����O��0�`pG�����������h�]�������������(���d��������������)��]����;������'���`��]�� ��M��F ��H� F��@�����T��T�apG�����3�]����h�@i�pG pG�F0 ��
    F�FF��!�������	���*F!F����0F��d��'8F�������w���׿�����������h��i�pG pG���������� pG��g��N���{��h�h�G���y���y���������������������	�������A���p��pG𵏰F0 ��
    FF��!F���������2F)F F����8F�����T
     ������!�F�� ��k�� ����.� F���	 �	 ������!�FH��P�� ����� F��	���`����(�F, ��
    F�FF��!��D��0�	���*F!F����0F����� 
    ��8F
    ���	�����}�dp���F�$ �
    FF�!������� ��*F!F����0F�p�p���F �
    F$ �F�!F�����*��2F)F F�����p����pG���F �F ��!F�����
    �� F��Q���	���x��)�0���F$ ��F�!��`����� ��!F��r�(F�0�0���F �
    F$ �F�!F��,�����)F F��[��0�	��������A����pGp�F( ��
    F�FF��!F�������3F�)F F����0F�����p�	������ϸL"QC�3HDpG� p�F< ��F�F��!,H��R��+F�!F����(F����� �p�0F�p�p�F< ��
    F�FF��!FH��s�3F�)F F����0F�����p�����
    �� !�FH���� ����� F
    ���H�h����L �(� �����,�!����G,�!����������
    �jF�� ��	�o�`O�q�aI�apG]��iF��	����O�������pGE�b�"b�B@�����H��-(� �-0�FF9(� �<��I(� �H�@�-�(� �-H��-0�pG���-�(��-pG"@�=@�-@��@��@�I@�����@�@�@�@�@�@�@�@�pG)�-��O��������G������G���$h��$�F��� ` ��`��`�L���h(���h F�"�������$ `���ho�AC`���h��1)�h���$@A�2``���h(���p�F���!`���	h)�����D���$�!!`Sh����]�hC��r#p!c�h0F�1�1F(F�a�����m��@�"�B�hh��a��@�I(�(� ��A���hp0F����`	h�h �G@  ` ��P`p��F��Hh��`���!I(�� �o�	�B��F���$@��P���h�O�D�@d ��`�����a��`��a���`�p�F��F���F���C!�b������#@��2,! F�����c�h��
    !�O�ph��2!�I�0h������c�!�?�(F���F!�8�(F��@@� 0r(F� �@�0r(F�#�F(!�$�(F��@@�`�r(F�/��@�0p(F�1����P@�|@�(F��F!����<O�`s� F�_�����)�L�M�)*�&�!j�#�O�B*`o��J��03@N
    �3C��63C��0��&��0	F���0o��h3@��C`�O�A)`�N�J�h	\�@!�bO�q)d�
    !j��A�0�p�(&��&�! �5��H���"� �P�F9F �)� �H��B��6h&�@����KhhO�`"!0�GO�`(`!�! �� h�I�?pG��I��Hh�I	h��b���! �O��s�I�FR�"!@(��(�IA����?!�!RB�*$�"F@��A�@pG|Hhh���@pCpG0�]LwI
    heh���Q��C
    �$h%�%q$���$s��C�Q��C"($��@CF0�! (�gHh��QFpG!"(�cHh��qFpG!"(�_Hh��@qFpG! (�YHh��@q��PCFpG (VI�SHUJh�
    �0@�QFpG!"(�MHh���aFpG!"(�IHh��EQFpG(�� 8pG#Hh(��EHEJAhh��A�QA�RH�A��h��A�B`h�*��A`pG8I��
    `��@H` �`5Hh(�� �`pGP�`B\`@"C�(C C�!@9H @	@����hB	@�"C`@�?PVb@�P`@��`B�Pnb@	@�*C C�@pP���A�@ܡ@@�@lP
    `@�?P�@�7���@p�@, 	@PPxP�P�P�?@�?@@�?P<`@��CB�	B6�*��F������pG���"#pG! pG�Bq���p��������,�@�� 2��3C�@_�F�@�[_�2�q�$� F)FvA��0!p�*��p� б�������� d�� �Ӳ@_�D�@%�R_�3�q�$�0FqFdAmA�� )p�F�����E-E�E�����U��@�E�����R@�@p�
    	HhBhh�B��@�@pG�JhPhh�BF��� 	@b���R�;�;�$���у@� ��:�0���8:��8��0�S$�����D�Q�;@�;�$�1�+ �+D�xppG:ӱ�:@�;@����S��"��ӻ	"�չ���������h��1�C�?�P�/��������pG�0Hh�((�O��0pG,I
    h��2K���BO��0�h(�  pGK���B� pGK�A1�B� pGK� 1�B� pGH��hHh���.(�&����(O��4�
    ����-�-�-�-��
    �$�$	�%�-���
    $��<F`���PP�P������ �����(����p�F
    FF�Z�@�A�I
    h*��.�.��%p�%��%`"
    `(���p@�E�p�8�F
    F�;�@�A�
    I
    h*��-�-��$x�$��$h"
    `��)� F2��@FF"����A+F�p�;$��@A�A��@"��8�F-F�=�$!���� @���@2�p�F���
    FbNը��#"���ը��#"�	�`խ��#"��s�!0F����F)�#O��B#O�ROH4!����8�F��}�LL�h@O�zqHC�E���!i@H�@B@��1�B�(ڠh�h�B�"hZ�@IJh�O��`�h��}!HC�:IHC��B8�F�(�� 2���zo��O�z`2���! ������=�,I�`��� ����(�#"4!%H��n����&���)�"I�h
    h�`��� KXC`�B8�F` ��! ��c� �������L��
    �``�W� a�Hh�e��I
    hI	h$8DC��"D��	ZCXC	�"HC�@��@x �?P@B��P�PpG@b�"b�B���F�F9(���P��_�A|(��H�@�+�(� �+H��+����r�pG���b�pGHJ�hxhR���@p�PC��� �0pG(P	@Pp�F����E�A�N0h(�РG 0`-���p@��Կp��@ �#("!��ѸpG �#0"!����pG8��o�%h
    �)h!`���(F2�p�F
    F&h (`�����%`
    ������6h1h)�ѮB����� p�5`���� p�"����B�ձ�0�B�FpGR*�� pG���4�F��
    �}
    �I�uɲ����z!�L�������kp0��e��k��,�h	h ����0F��N�(F���@�����F {�(����	}(����h���o�pA�B
    ڰ�pO��������k�h�zq�B� �8����
    ���*h��xI��C`��@h��O�Q���`/Рi�`!C�a!���4@��F�1�p���P���4IF�i�`/'Рi�-�H�%ԨH�%�hH�%h@�����i!��@�C�a0F��3���h0	�`h"O�ci�G�0F��$��i �!���	���
    �ei(�`h"O�Co��G����wp�p������X���J�jF����@��b�iC�aO�A����j(I�nj.F��h�k�B$��L��p@O�Q��κ��j�� �b���i@B�2C�abi�Cba�h"��`F�0����!�����h����d��l��p@����biCba�hA��` �a�h `�i(���$�����bp� ����FF7nF��G���� @)@"�B��B���E�8���@��%���瀵��.����'F�k�k��@G����G�=�k�B����� d�L��@!��W����d����Bн�@O�Q�����H��8�)Q���8G`j�k��h���H�ah�cF���*Ahx`h	x�B��i-�"O�so���G �� ������!�v�k@~	|B� ���k��@h�h*��h(� �a���
    `@��p���*` �a���Ha��c ��2@��3�1�-��A�F�@����V�k@h@h��G�k���h@h�h)��h)��i)��!�a�h��G�k@h�h��G���
    ��� �a����
    0` ��"��c@�
    ��B��{��s"B`B{��B�Bs"<hb��Fbh*���B��``@�a{��asij�h	��B�@��B�9���!y��a�,
    x��
    pJx��B�Jp� A`A{��AsiF8h��hF��8h���i(�� �a ��R�(�`{��@�`s�
    �c8h0`������L
    B�pG ���9�(��<E��1��p�c��(`���$	h2 �4���� F��� F��@���-��CF
    Fh���D���.��j�i��0���^��i�C�aph0����hvh:F#�G%�E=����t{�&k.pбh  �Ih@y�²j�
    �@��B�@��B���h" 0�����i!�aqh�@��#�(�(	�(�"O�S�"O�S�"O�C���h����G�����F�@��� k���w�0���������6�h���0�B�9})ёx	�h!� �p�����kh����$&h����p0��f��hp0��K� k(%��E����@�		W� l�� ��q������!l�B(�@@��p�`@��a��� �B$�@���`  d�����
    �x{!B�p�HE�"O�so�q0F�G"��\@F�����~P� ��hF�_����� �v �� �}@�u �v ����wi/�"O�c!0F�G%�U_�%� �(� �wC�(C� ��  8w �y��������V�c"@F�����~x~��B� xv�l������!lbl@�0`d�l���� `d���x{��@�xs x�8{��8s x`/`�O�Q��5F�զj.�ph(ж��hvh" #�G%�U�)F������!�L����p�F�(�����L��0�M�ch}��8��^��� ` ��� ���0|� ��� ��(~@� (v!�L��p@����p�0����7�������FhqMA�`���~��x����#��L��X����x� ��� x���&	�! ����8����_��x����#����9����Y� ���`x��t&	�! ������#"��`��������<�c!O��p��
    ���H�v!�wAv�v���w)d0�-��A@NFp}��F�FF����� pu/�g`��G������"��})>�!�u��!�5�	�� a"����	�(h `hh�`(z t�h`a(i��ax!� ����#$"!hF���� ��jF!�8����#$"!hF��+��kF"����p��D� F�������� ��8�����I�� 1���th���� F2�������F��0��\%A���EH�Ui "E�F2�� � -��O�FF�F�F������U�F��4��6@��(o�Hڨ�@������4�� {I�@�	�@��(��'�p��8��`������ !���������
    #���@@��� �w@��xhj(9F�$���i�@����a�HFK���`�H���@D����HF��V�0FI����Td�L� �p�� pB� �w pw�v�}@�uHF��<��jh��� � ����&��~ ���)�F0� 0v�h�����d���l�k�h@���	h���!�0F���� F���� F���!����������@  ��@��wpG�L��佰���0F����-��AFFFF��H��F8F����@F��C�
    ��!B	�@F��;�!�B�� !�yh��l�B�yh1fx`��E@F��'�O��1�8���������ܵ��gF��g���03 F����(� O�AܽF F����@"O��C��x
     �@@F�����B�-��C���B`j��F'F�������F
    Ѡj(��j�����	 �w�������|Рj�B�%�(�`j� `b"��@C�w����F.��������Y��t�%���c��i��(��8F�����'S���B�������(� `jh`b�W���G��M���(�� ��h���h�B�������h��!`�h�`!`���&��,��(���,��'��(�����~���'��`�����c�����  �`H�c���8F����!@��@��whF��ڸF�0���@F��ܿ8���A�FZH�� h� F���F�H���(с 2� 2��>� 2�@
    FMI�k�B� pG
    �Q`
    FGI�k�B� pG!F��p�BI�k�Bo�ё� x�����FDH��F����(�0p� Fp�� (F����p�FF��x��$-I�.
    ���j:��j�&J�~���)��$�� )p�$��d� Fp���F��|���h�8�����I�RՋ�B�"����+C��4Ih�@#�
    `	h	�
    Ju��2@��<� �/�o��� 	@�5���I�K�� ��� 0@	=��������@�����	3�!Ih�C
    `
    hB��pGI
    h*���a`�i(�� �aHhpGHho�@A�q`!H�`A�0Aa!�`P!Aa!�`O��aAa!�``pG
    Hh
    `�hJ`�h�`@k �x@@�P�`pGpGF"H��B�@@`A@LP!pG �#$"!���pG�� �	#O�r!�����9����#"4!�����C�� �������hpG���@���pG")�(�@��"�(�O�zrFpG������pG������!����GpG-��A���������y(a� �q��pf��pv0{hqph������� �����"��A������"�Q�0�����"��A�T�����h �G�� xxh��Tp{ �,� (p�,�,� ��,����O�zpB�p	h�����T�����T�����,��W���Z�8h@\� �}�
    ������� ��`�`aF����� ��F������|b���0[���0۲#��h#�@�C�`f�-��AF�����F��Ph��� R��� Ҳ*?��P��LE�.xo�0�!h	j8F�G!h�j8F�G!h	k8F�G��( `��$h����p�� ���G	�!h�i8F�G!hIk8F�G(���??(�����hx�??(�����@F���A�����F��x�����h#�@C�`a��� R��� ��@��m���F��c�F��|Tp���J)��� 9��@�8x�??(�����xx�??(�����~�8x��Tt�9h�i0F�G9hIj0F�G9h�j0F�G���@�� ���G	�9hIi0F�G9hIk0F�G(�� F���@����� `��h���pG-��O$��O�
    (�F�&d��������(]� �������� �V�T���T�����` ����(� ��O�
    ������`h ��Q��O� ��K��H� ��E��H� ��?���\c �1h	kO�`�G
     ��4� �1h	kO�`�G��@��Ps��P� `H� 1h�i�G��@ `����$�&s� ���l�XF���F-��-�2jRh!XF�G8h��8` ����Hh0h�k�GT�-�2jRh!XF�G8h@�8` �I`@F1hIi�G ���� �1h�jO�`�G
     ���� �1h�jO�`�G�I ` �I` ���1hIk@F�G(�� ���I `�Hh�Hh��պ�� ������� ��F ���������M������0F����0�$(���!�(������n�{M�I���@��"�x��n��#�J,!��������F��Q� F�0����8�����FiH���$���V�F(F���� F2�8�����aMF��� ���� ��� F��2@��ݻpG��� ����(�(�����"���@ ��aHSIhNL��P(�O�zpA�0	h�����T��r��T��@��U� �#O�@R!?H��@� pGp�F=N0F���%��0F���F�h B�2i�h! F�GF-�0F����(Fp�AI(�@��p ` pGp���u�)N)MF���(�����h� ��� �h�GF ������ �G�!I	h2 �����!�0����0���� F��p@��P�8�(���)�(���o�LI ���2 	h�����%�0����)F�0�����0��������� 2��@L t�?P� ��( `( @, 	@@	@"C$"@@@�C	@����?P`�?�?�?�?�?�?�?�?�?�?��?�?Q?????????h(�  pGhpGhpG8�F
    F��!)`ahi`ah)�
    `%`e`���2@��hL� �pG-��OF�H�Lh�M�� �q�H `����b��F�Hh�'�	�����>�	(�� �E���F�Hh��`�����F�Hh��@����	�
    )��!�o�	�B��F�|KB��R�{Jh��'RH�G��G��� ��*ڪy�B]Ш�&���F������#��O�,.��(�O�vF.(�&	�
    Y�&`�����
    
    �����+^D_�{D���K^D
    ��fY�.�	��
    ���#�D�D���C�D
    �
    �j@��"��qrC�2(�� 4#��XC
    �"HC������?(�O��p������CHh��(` )�!���I@����9		@��;IC ` ``����8Hh�������+I�� �B�o��B��F�q���BҌ��+Jhh�� *(�"#R�@���?(�O��p���$Hh�pG�#K�h�@`��@o!�Hh��\h��hh��S3�КB�o�!@`��B�
    X�D�IX�D�`�	@0	@� ����?P�P<Pnb@$"@�P 	@礀4	@(P	@�?P����@�A����
    h*��$h"
    `���� F�8����C��� x�{%C
    ���H��x)�!�p%��F�
    � 2� ���� �������h	� 2����#@!`!�a `p2�p������!`H!�`������z)h�)��t#)�hK��!HC
    ��hh��@(�������v�hC�U`{� `s��Hh� E�H`)A`!�`�H�{(:� 9�)	�h(F������P(.� -�),�h����a(h�a(H�@B)H�IB�B�� �hh�N���#O�B0!0F��`��h�r�!0F��Y��i�q�0F��S�  p  s��s@-��A�L�����O�N�H�����xJ*����"3F[3F[3Fcn�I	h	h  �G �`#A�P8aO��r ��p�#O��r!@F��0� 0` D� �a(x(� 0a  �p 8` p`ph�4��x(� �K� � �F��x(� 
     �p �)� !�a!�"�a
    )�!!ip!9`!�`` 8`&�)� 	 �p p`� 0`p` �p�x���A��ٺ!` dI` ��T� ��=� �p �p���A��|�����#`"!@F������XI^H����
    )����
    
    
    h����Ah����Ah����h���Ah������M���@9���FHL0! F��y�AN��� h`! F��o���@�` ! F��h��� �a���`(`ц���)i��� *�jh�h�`�a�ija�i(L�o�"�@B�p�ih�`(�ji*�0(� �0(�� IH�!�`�(�ji*�8(�� !	�8(�� I@)��?!�`!ia(a#�h���O�B0!�<� �#O�2�4�(i�$��/�hi�%��+���@-	 t�@,P@L @@�?P 	@<`@�@@@4`@����#O��pG���
    #O�@b !pG! F��ھ��9���=� �#,"!��C�pG �#<"!���pG����������!���������������@����8����������H��	!a�`F�%#�[
    �B�Ӌ�"#�,�"�O��r@�9����0`` ���`�h``1���$%��1������<(��`.��Wh�h:�Ղ�B%�+�#�9�D#����B�'FF�����*���SF�A9�A�A	�B��%<FD:�*��'�'�����8F��F��z����`4�,��$�,"Kh�B8�J`��@s�8�F��e�!#���'KC��lJ��B���d��H2�I)����\� 2�p�F��K�F "��hBC��lI� 0e�d"�����d��D��B� F��>��Hp�@(�� F��5� p�8�F��$�%�� "jC�ZДB���#��2�m-������ 2��F ������(�k�"���PCD�h�o�� F��@GF�<pG� !���&$��D@(�de�� #��@S(�� ���`�`��@��p�������FhF���� �"@�0�iF��l���h���h���������F(F��f����0F���� F��y��p��������V�o��������!'��6OC;D�?��]`�h�`!sih!a��B�����0F�I)�����8�����.����y�!#���%KCD�K�O��s�U`#�`!qih�`�I)���n���F`h0��������ah�!`�!�r0�` ���@h8�����F`h�������`�� �o����@h���� �8�F
    F��/�!E�!h�%`�FQ�,*��A�\��2@(�-��AFo��h���y(�� y(�����y���'yCADIh����0F���� y(q�yhq z�q�y�hxC@D@h0�����yxC@D@h@h���� ���p��$���z��o�p������h%A�
    F��
    h�`"
    `�"�r����(�`� p���y!q@y�q p�F����(
    �#��P$XCZ�O��r�B�O��0pG� pG�y���F���{��(��q F��@|�O��0�>�F����� yiF����x� �� ������h�h���Go�>�����(F>�����#hFO�zq��#����#�BO�BؐB�o�� ` �8���������F���(�(��o�2�`h@���hh����@�A�2���O��0��iF����(��2���@h���� ��<����@h��^� ���@h��V� �����R����� ���������?� ����FhF���� ���������FhF�����h����� ���#�h`hjF��4��F����`` �F�hIhG�F���h�Ml� ���o��#$"!���:� ����#yh�H���7� `h� �� ��hF�h�G F��=�0F��h``8i�`�`
    �(h�GF h����8i�`0Fih�Gyh h���� h��t� ���F��`hiF��� ��`` F�������@h�o��h��d� �~I	hA` pGP�FzHho�F��#O�zr����#�BO�BؐB�0F`` P�-��A��F��M�����F �%���(�(��o�c�ph ���O��0��iF����T�����'����`h����x����L�ѝ����o���������h�G@��������s�0a��������'m��(�����������B������V�1F�FQ�,*�ѢhA�,�`���-�`h����m��8F��������'�F����(�(o������!$J#KC�ZO�D[hh�B�!q�I)������0F����� ���F��v�(�(�o������F����!J#KC�Z7Ч��B��Ih	h�B�!!�`��I)������O��0�� @@ p  m3` ��L ��p�F< ����o����r� z�a"`�(b)F�h(a`h����F(F�����0Fp� p�A�-)�o�pG�R�!G����������'�M�Y�u��������+�y����������������������'���������_�-E��;S������ ����-��N���y�F&@�;F�x{y��������@�{A2�m8�m=ЭA�m�z�m�}�m��m�m�m�m�m���m�m�m�m�Àm�ˀ�-���,@�݀"QF���,i�"QF�z�,b����b��,\�+4К�8q���(��*�*���(��*�*��,DѼ�К�xqS�(�*�**�HF�����(��*�**�*� �G���&��,!Ѻ����� ,��������q3F"F!� ,z��������q3F"F!HF��v�,jњ�(f�8rq�,bњ�(^�xri�,Z�O�p"QF8D����_�,Pњ�(LڸrW�,Hњ�(D��rO�,@њ�(<�8tG��M�7т�B4�x�?��E�/т�B,Ҹ�7��=�'Ѱ��$���/��5�Ѡ�
    @�wB�B�8�$�,���(�����P���p���\����&�&
    �((�,Ѻ��:�F�&0F���!0F������,pG"FQF0F��\�8�$O�@s
    F���,6�R6�R7�R8�R9�R:�R<�R<�R=�R>�R>�R>�R@�R@�R@В@�R@�R@�R@�R@�R@�RF�RF�RFВH�R�RB�RD�F��xB�"�10�"�1-��j(`B�"�1'�y4�Hy2�ȋ6�y�1��y�1�z(�Hz&�"O�p�z ��z��"�| �H����Ȋ���"O�pD(F�����H����Ȍ
    �{�x�H{(p�((���(��$ F2����F�x��� c�,�����x`x"�	� � �����x)�)��@x"�#� pG���#<"!hF�������P�#O��q�jF!��������p����� ������E	h�U��&hF�G��`p��b �pO��p ��o� p# �" �)F�8�� �/��\�� �(���� �p� !#%+��:K��b r`r�r �r! ��=*F! ���,! ����# �")FpG���������T���D���
     ��O��0�hF!h�G(K���	 ��hF!h�G���(>ѽ�(�hx�B-�0�O��q�B	�p�@%��,! ����0x�(��(�0F�|��py(�0�(��{(�8F�J���$�� ��F8F�$�F��^� ���hF!h�G���0�O��q@��)yhyC(�� ��
    �(z��"hz��O�p)
    ������z��iF�z��	hx�4�(� �p(k(�h� �G����O��q@��� �t���A
    �O��q@���{(�(�����W��+�ꊩ�h���O� ��pG���M�xO�sF��xhy��*<�*�*\�*��*�*�̀*��*����`x��! �$��! ��"�����3� �p���yhx!���� �p(k �h��x�G��bx��xB��yhx��!��`p�)�)�)�(
    ��)��8�l�� �:�`x(����cx�+y*�)� ��+�  ���
    �C
    ��8�8��+� (q hq�x(�  ���`x&�"!0F����`�(� �p�h� ���`���x(s(|(�(	� ��O�zqAC�\��b��x#!�
    ���1(�� (q }砈��!��8� h���脠yhs�\��8F��O��p(�hy� c�y(�  �p ��Z�8F���`x(��h� ���`���\���(�kk+�ꌩ�h�h�G����!� �������(|(� ��
    A� ��
    �\���(|(�(�h�ሁB(�F���� ��B8�F���`��B8�F��)����B�F�(�(
    �h�������芭�(�	���� ���`�������hF������F(Mz�Fh��B$����BӨ����B��9��B� ���F(���x�����������8���hF�[�Ѭs1F��5��'8F��>�L�x-� >������� ��0�\�:��iF����>�I��C���j��׸� � T ���!���!��� ������!���!�����hF��t	hG�����$��`�� ���@��@hF	h�G��0���F"��� "��4	h��� FhF�G���!����)p��`�0���� �� ������� �������� ������� ����	h��hFGP��� pG�� pG pG�#pB��#A�|A�p��pG�#p��#�p�qpG>�F ��
    F  �� ��p	h��hF�G ���o�>��#"!FO��0����>����F�x*ъ���45���X��iF F����(��Dx��D� F������F"!K�8�FF�������iF(F�������Ex(���y�B���h�"F��������(F2�����2����|���
    �2F)F�����G�8r��L�;F����@_��"!��8����"!J�1�-��A�]��"��<r�`>������*�9F���A��X$��%�8��+��"��,�+�1�!P�"!��-��A�6��"���`���s������9F���A��$^� ���!2�"!��F
     ��!*���)��`����+F���0@"!������
    �"�����=�9F���@���#5� �"!?�����I�#�#�M��x�(�P�@�a�Bѐ��B��y��B� pG pG���$��������#��x�(�P�@�a�Bѐ�(�(ѐy�((� pG pG���O��2F)F�����`����9F���@��#�� �T -��A�$�
    ��AF����<�}������m�h�F
    F �BF!��p����~���Y�!�F2F)F F�#�v�F
    FF�F ����-��A�F
    FFF �����"�i��g� rer�r�`� a�`a��/�!F���A�2��*��
    3"!I��	3"��������
    "�E��
    �8r}�>s���9F���@��"k� �!FP �����#"7�-��A�F
    FFF �����"� ��� rer�r�`����!F���A�"��E����#"!��#"��F
    FF�F ����!���p���f��0"�����	�1F��p@�]"�� � p�4�u�����0���F ����
    �1"����,�������#�)")F��"���>�
     ��J���v�
    �"��z��������������#pG��a�
    �"��e���{������������!F���p����"��O��	�1F��p@����� p�4��`��X�F
    F �������
    �6"��y�<�}���9F���@����� �F
    FF ���F ���F
    FF ��޼-��A��Q�������<�>t�`�N�xt���9F���A�i��x����8�FJh*��FF!F �G2� 2�
    Jh�
    FF GpGd
     ������1�� � -��A�
    ��F �������<��r�����F
    FFpG-��A��������`�`����Ͻ2F!����-��A��t����������8r�`������x�(�P�@�a�Bѐ�O��q@��~O���B� pG pG#��#��#��
    #��#��#��#��#��0#��1#�瀵#�#�������#����#��6#��x�(�P�@�a�B
    ѐ�O��q@O��R�B���B� pG pGp�����#����0�2F)F F��p@#�� p���#�瀵#�#�瀵#�#���
    B�/
    �B�/G�F
    FF ���p�F
    F��Ё 0p�� �p��)�*F1F��p@���� p� �� ��˻-��A��:��F ����	��
    �=�~������	������� 8p �p��pG=��`����BF9F���A��W�x�(�P�@�a�B����B� pG pG8�FF���!�²+F!FO�@����2�<�}���AFP ��ܻO�C��������
    �"�"�<r}r�#�9F���@�y��� �����t�
    �"�
    �<r}r��9F���@�Q��� �!��λ<��r�`����x�(�P�@�a�B
    ѐ�O��q@O��b�B���B� pG pG#��#�����!���!��hFCI	h�G�𵉰F
    FFF#$"!hF��|��<I	h�kFO�zp������������)F F���� F	����Ϻ8�F
    F����� F�������� F���� F��2@����������� ������� I	hO�zp����pG�F!��x� F�p���F ��
    F �� I	h�FhF�GX��I��` F�����(F��}� �0F��� �p��F�����BЄh��s� F� �T �����
    �!����!��� ���!���pG�������!�����hF��t	hG���#<"!hF������`�P�#O�!q�jF!������������ �� ��,��0D	h��hF�G�� p��`�<��l��`# �A�2 ����1��� ``! ���� ��
    � ��
    ! �� ���� ��O�zp��@�0��#�
    �
    !@�0����T!O�Bp����t!@�0���jF!O�Dp����!@�0���
    �!@�0�����!@�0����
    �!O�Ep�����|! ��S��! ��O��! ��K��! ��G��!	 ��C� �� ����! �� ��O�`����
    �!O�`����
    �!@�@����
    �!@�@����jF!@�@����O��0���O��0�����X��}�����H���� a�;����c������ x��|� x������v��-��N������O��z�M��T� ��
     ��O��0�hF���G(@� ��	 ��
    ����G�� �(hѽ�$(�)x�B5�8�PEѸx/�hih�ixIip�y@�����(�(�F�hi)x@�"����XF���8x�(�xx(
    �x�"��{�(� ��oa$�9y���O�O�D�8F��k�$��O�Ap��S�����jFpx��!�x�� ����py��0y���x�� �� F��[��h����h��h��,��� �(�Ѡx(��(�(�(	��� �@������������������PD�������(��iF@�0�����h�A�O��q@h�������(��h`��f� F���(i����(�+�(i����F z(���h`������%LbiZ� �y�����`i���� `a`p��F ����P�!��pFK�h�h��@�������F
    FF" �������`<r}�"1FL��� i9F��{��h���@����IJ�CH��h���T �  �#}H"!��h�-��C$(��F�FxO����$0<HS}.v�2FIF�v�.w�!����2FIF�j�.k�!�(����2FIF�(^�._�!�@����2FIF�@R�.S�!�X����2FIF�XF�.G�!�p����2FIF�p:�.;ڈ7!8F����2FIF8F/� �� ��
    ����$����Gȹ���xh��B
    �!���!��hF���G2FIF(F��\�}`>p
    �$�.�2FIF���O��$�$ F����-��I�FJh
    �xRx�� F&��B�#"'K���@(ـ�&8)�:�	,(����B(���=��)����XF��]����B��B��=���xF�B
    ��B��
    =�Xh:�
    �,�&����B(���=��:�@F�����>�
    &0F���� d T ��!���!��� ������!���!�����hF�I	hG8��L�M�-�h`���)��`�hh��#�ih�`8�F�����h���� 2�O��t F����h F����h F�������0@�,3"!��� x���h�I�`pGp��FFF� p�`h��!"�>�0� 0��hx(p p� 0� p�-��O�F��xLh'(�F�F� xbx� ��B��B.� �JF��@F��F%�M�`+�h"YF F��0�ֱ���JFAF 
    �"� F���(�f�JFAF �G�"�  F����
    '8F�������MF(xF(�''0F�>�hF��>D�x�x� � h���iF0F���0F�*���������%��0F�N�v���B��! F�=���! F�`���iF F����8�FxJx`M� ��h��� �Bѽ���#����h���A���Bi���'��� h�1� h��� F��4@!+� F��4@��|�GN
    F�hF�A���#"�B����r�A�"@��� ���p(
    �Hp����(�s�iF F��ƿ|�3N
    F�hF����p�#"��������"@���iF ���p�������s�!hF����! F���!��|�N
    FqhF����(�#"������2F����@����" ��(�p�(�
    Hp�h��p�h�
    �p)���/�"�����������s�T � � � �@Q����@Q����@Q����@Q���9m�dH"!��x� pG�F��x$)�@h�4"��`�!�#jF	 ��HhA�A`�$ F�� 	@�@Q���gk8�O��t�B
    � <Jx�B�!� @�#@�p�����W���!�p1�0�$�d���BҤ���h�B��F0� 0���F�
    F&�+�xQx�'��C��B��hh F�����B��hh�� F��F�&�
    &�&0F򽀵����x�p�F
    FF�
    �@�)FO��p��� p���p p��"�RL$xӲ�B�Ҳ1�"0�B���� ��  �	�R"���˰���pG"�S�Q��`E��
    ��������8�o��� pGR"���˰���R�FpG pGpG��"I���� �>�xEx�$��@#�x�x� ������x�����Bв��o��#F>�pG pG(� J HhRh!GpG8�L F����F��P�JhRh! F�G F����(���2�-��AF
    FFF�����F:F�10F�!�@F���A��8�F����F ��(F��2@��HhA�A`pG�@@	@��I	hIi��Kh�i�G�GJ!`���`B���}����}0��������MF(xx� (p#$"!hF��n� ��"iF��l�h` F����	�0� !pO�+qA�!q�I�`�I�`�Ia�IAa�I�a�I�a!bAbO��1�b!��,pG-��O�F�F�����Fo��,`�!j)�aj)�����,��,(�o��,N��!x`��O	�A!j���G8`0����O��0��,:�a�D�� xD�
    PD� F������������)F�"x���[FRFF��h���"x�HF����!x`��A	8h���8haj�G����-�%��,Ph����-��O��F��)��)�Fo��-�����@����,x�!j)�aj)�����,��,(�o��,f��!x`���l�	�!j���G��0��|�O��0��,P�a�D�� xD	�D	�D�
    PD F�l��K���F���C���H�8`�"x��0��"x��+��"x)F�&�����SF����� �"x9XF��J�!x`��	��������aj�G�,��-�%��,Ph�������/�F"x
    �@F��(��` x�A�ppG�` x�A�p��� x�A�p�pGph��%�
    N�jph�����hJ`�hJ`iJ`AiJ`�iJ`�iJ`yIppG� �0�T�x�����DO HO LO PO �O �O �O @O p�����F&���R
    �$�����@h �h�1F�Gv(h���B��p����h���`��������
    �D��� E���E��A�!�
    h��\r>@���C2C@��&���/�������/�+���#���/�/�#�#c�B
    `A��B�
    �2�p��������,L�F$�C"C
    `���@��ھ�)H�!��@� �?h�	A�`pG����h�����(�����(�d F�-��O��F��G�����&(�����(�&��|�h��Q)O�
    �h
    ��C��d��D�x��`q����_������"YF8F���O�$�
    ��|T@�dU�$���)	��)��YE�&����� p�	 �������P#$"!�������t��!	�����$����PF��(�O��1���u� ��d���B�&���	�H� ��(���G�8]U� ��@��A��#0"!��������P��� (x�� �!	�����#("!�����hh��t�# ��	�������`h!�|QA�Q` ��T`��P` !����I
    h#�@pG� � @� `4 DP�?P� � �gl��0	@@	@	@� @��(�(�(�(
    �� Fh�G � �� �� ��������F���2����� (������@��<����F��������� (������@����������!�@L@(pG8�F hq=L(y����X�F x�(�(F��\�o�2�@ p��(�`h����(F���B�!x
    ���H�o�2�I!pɲ9���?�`h���� hq���7� 2�p�F`h�O�o�p����NF0x(�ph����`h����`hp`(F��� p���@h�O�
    ���{� ���@h�O������ �o���F���h`h` ������o���hJ!��� �X ��F��� q ������ ��F����`` ��F`h�����` �������6I
    x"�5Khp"
    p����@���8�����F.M(F�d�������(F2�p�FF������'Hh	x	��S�&�O�q"F�0F�'�X��O��0 p ����(F���� p��hqh0h�B�I `Hh��� I	hIh�GF�  p(F����0Fp�O��1��h�@:��_
    �Bh"����r	K�BҀh(8�!FpG� ��PB�@���h
    x*�"
    p@hh����pG�
    Kh$�d`		���pbD�DB�A��`CX`��@����	�iF�i����������G��� h�`]��������pG�����	�iF�� ���	��FJ`O�p�a����a���0h`@�`pG�����)�"�������P��G��(�!������@��G��,O�Q`����������	�iF� ���	��FpG���9�A��	 ����	�hF�F-��hFqF����{�0�pG8���{���2�F�(A�`!���o�F! ��.� I	h��B҂ ����L)���d����I� �������L�� �HM�hLZ�IIA�`HhA�`  !h�i�G(h h�k�G (`(h�������2���1@�����L �!@, 	@�$"@8��LM���������I�A�H����#hh"!(F�G"hRh!(F�G��+���G���%��������� 2��@@@(�(���(� ����(��� ����(���pG
    Starting main
    I`pG` �� ����(���pGpG�������K�N�R�X%a1BNZ$�0�0
    ����������������?���a���e���hDh�hD�T�H�KD�B��0pG�[���K�,	,��K4��{�{v��,��k�-��[�%mB�D���k�kd��������
     � ���@���	@�@�
    @��������� ��@Q����Img IdentifyImg BlockImg CountImg Status�P��D���Y#*A�;��_�|F�O������D�!pP�+*��pG<\0������,���������(�����ݣ�M�Q���
    �IyD1L|D4�
    hD�GF�B������L��������%�p���џ5�&$�$�!���$x
     ����l,� �  d08� �\� $� �,���� (�$����4 �����< �$����D 8�(����� T(<�4 (  @H(���#�pGH(���
    �pGu�y���ї=�����
    #*$*%*&*'*(*)***P*���(��������� �������� pG���@Q��������������]������D�@@���FA�!P���G��(())խw�Ӝ�p2�$
     Y�43�< �� Ph������ ������Y��Cŧ
    ca��� ŧaa8@5-@@�`]����~���#5c8�`E�8�R`��ch�-[` z�
    Model Number��SeriaPFirmware Revision�Hard�SoftPManufacturer Name�exp|mental*
    4`XC�Rd f
     C�Cla Rg R� �t Rh R� Ҍ Ri R� Ҥ Rj R� Ҽ Rk R� �� Rl R� �� Rm R� � Rn R�  ���0��$EK X`�!"�� �2,���Ǭ�o��@C��l WS�Rh0��@R@ґ@Ҙ@��@Rp@R,@Ғ0��0Rq0C<ғpҜ@G�0���Reset�dRrdR��ÖTO��Ara0��c0up����
    	SimpleBLEPg pherA
    ��@��& 'b (-���#��!a4]��0��!8�!�\DA
    �!CRC�	!(�6@ǒ
    4$!R<RDRL�M�5� �C�|!R�R�R�R�R�R�R���bd�Cx�ɒ�,RRRR R(!xC4�x
    ���̄e8�	�7�����$`l��lmvy�^��Z�#��pCt{@@;" x��K1!@)x�!R��|D!�(�pR08h!R@R)��i`��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

  • O�(BBBB����@D 9������������Y��������t}pG��l(}uFpG��`�iG��X	jG:�����8����H�h����aO��0������F����h!����$�8��������XF�h!���ii�i�B8� ���2�p���hhF
    F�h!F���4auap�-��G�F��@��HHh�Y�FO��:��i�i�G��(��h��	PE���F��B�.F-h��(�Ѹ���hHE��1i)� ���`��PF���-��A�������WF�h!��!��!�ni)h*h��q�B� �����+���$�1F ����?F�B����j��F�(�1F ����F�i��F���B8�F����� (� ��.`������8�FF�`hi��D' a�a!F�i�a ��h��<D��(�� F��2@<�1��`�a"a�a��F��'��hD��8���WF(�(���(Ѩh!��)hji+h�A�BӢh�`#��ki�B�F��4@,�����h�` ����(��1�8�F����F F������!������hIi�B����h��pG�`pGpG��pGpG������8�$���W�hhP�$�Gd(h�B��1����� !���pG!�h
    h`P`FpGh�B� pG pGBh`J``A`pG�F����F hh"`hT`������@``pG8�F
    F����,`ahi`ah
    `e`����1�hBh`AhhA`pG���F~ ra�!���h D�T�  ` ``�8�F����F |(� F����  t)F�h���~�p�F��.��F
    �kF2F��\������ � � ������F`�������:��8�F��,i�����-���hiF D��y���(��������0F�#�����F������ � ��a������`�@`�����|� ���� �p�p�F��x�F���h.0F��;�8�(z�N� h�@h�3����F0F��&�F 0t�h������h!F������(F��p@������!�-��CF��TV�j����h�h(a�``j�` j`b ��(� �����F����!i�h�h�G����HF���� (�����`�`�������F%i`h������ai��0F����F0F������`h@�������ai���B���p����E&i����F`h������ai���B��m�F��P�,�  ����0F��p@f�  ����p��$�!F ��d��$h�B�� �@��	h�B��O��0�	���D�H�A�pG��89� ������b���(Jh"���������
    �����%���@(���pG�����D`h����G���D�%i`h������������ai���B�0F��F�F0F��H���`h(��  ���`h�i�C``8F"�����hpG��FFFF��I��`�G�� �=� ���G��b(F��� �p�F����F���� ������F�j)F�����D�iAhCA`������p@4�p����p�ab��� FpG8�F
    F����aj)C������2@��`a ai�@�apG0i�`pi a�i�pG�i`b b���ai@i�b������!������C  ����`h(��`h�������i��ai�B	�"i`ah a���d� �(������xC ������  ���@��8��M��$�!F ��!��d��ph�B��$��DV�(kP�$!���d���h�B��O��02�_����������C��]�`h(��`h�������i��`ah a  � �������������� i����������"
    �pG �X���l����B � ��������j�����pG����B � ��������\�  ����tipG\	 ��(�pG���D�F��T�hI�`ф�� ��������p���8i����F��,�F F��  u F������� F���(F��	 ���p@���	 -��AFF�i�`
    Fpj�F���<h`b7j���4h���iABJ�@�@�@ b8@�a�"b�aO��0`b�b0i�bpi c�j`c����(�����hI�`AF F��F@F������ ��R@�a��aF�i`jCF��( b�� ���p�
    FF+F���$����;� a(F�{�8�  u �a�h��,)
    �!�`���	hD d!F�����h!�@�`�h�i��� d���F����F F�*��� p����(F��|Fx�-��AF/M&loh�����p�0F��?��'�h`(i�B� ha  u (����8�����F)F F�����1�-��A��|cwhF�F�h l!F�� �E�p`  u0�������A:怵������#h�B���2�����
    �
    ���+� ��@��(���G��@����
     �	 ���V��O��0��~��~��t�8�FFF�F+F�L�``(F���� 2����!��������� p�@��hE�����Q��������!������������Ai�i���9a$O��1`�!F �l�!�P�d���h�B������1�����F���"FF���h�F�ihQ� ��B��!���h���#����" F�n� �����`pih`0j��� (t 1�� ��	�@��`!F(F��F F�B�����8�F!{���F�!| )ҡh����@B`�	�����@j@�%@(F��!|(F��� {�D�(F�j� �`2��������!�i���`h�B�#�A�#@[���A$h�B�+2�R�#@���A$h�����!Ahh!�A�!���!QA` !�v���	h�`�6� !������pG���pG@�������pG(���Ӡ�R	8#���@�����1@
    �(�i
    i2��
    a� �pG(��<Ӡ�R	8#���@����1@
    �(�i
    iR��
    a� �pG��� �i�h�B�`pG����@ i��  `�0���� �iC`Ti�`%F*x�*�"!`F0�")����)��iYa��
     ��� (Dӂ��pG((���pG��`B`pG(���p8��pG��40[h"���\!h��G���������ђ�	 ���ʲ���������	 -��AF��W�����F����F �����F��T�I@j����P�!p�`��B�xh�h�G��;�@F����� �������z�
    ����|�F
    F�iF� j�"�� k�+F�j�2F�j j�i ��v���ThpGpG�������� pG�F��<h"! D�{� ``�8�FSM`h)i�B���hO��1 D����(i`` 2� 2�1�A`���	hD��M�pG� pG���}�����D�"
    `�D�O�r
    `@D�O�0`pG���%�H�`�H�Q`@H��`pG�F ��
    #G��a�u�#�B(�O��0��F��� ��O���O8��B�F!F��@ ��-��A�F
    F��
    ��E��g�w�oA4"D�A@F������g��������h(���x@h(Ё��!��O��0����h(���T@h(Ё�!�{)���pG
     ��F��v�F��,U��,u �a��o��j	j �G0i���/4�! ��t�:hh#! �G�� `���h!��!A�1` (`��������Dh��`i�i��@G�� ;���F
    F�U���
    g2F;F���=���#�3�3��#��������D!`!�a!` h�������	h	j �G h�8�F���F F������� 2�-��AFF�i�F0FF�i�$���<Fv`��i#AF0F�Q��hiiϹ��h�h���� ���ih9`�ihIhy`ihIh`ihO`�s��9 F�4�(h�� `�#������FFF�i�iF0F���v`/��i#9F0F��hi�h�� F��(h�� `���(i�qh!P FpG-��C������FhFF���	�B��:F F��%`d`��E���F�`JFAF(F��.`�����l	x)���h� � ��pG����������� H$h�G���F���h�-��AF�F��FF@F����F���h-�(F���hCF:F1F����@F����h����h���4#����"@F����8F�������#���p�F�F�����*F!F�M�0Fp�
    iB`Ji�`Ii�`pG��F���h
    FF�N�ah&z
    @���hs�B����� �R�D�`a`����8F���T�(�pG� ��U#��@h�"��<� ��g�� pG�h
    `�hH`�`pG�	 �� 	h!�
    ��B��FpG pG�����pG8�!��$��W�hhP�$�Gd(h�B��������Vh�G$�hhP�$�Gd(h�B��1������pG��-��G
    F&�F-���������v������$�������h0�(�X�$ �GJ�$d�B�� ���F�	�	��|h�E�&$� @d�B�Z�$��X�$�GJ�$��� ��0����`�� 8`����O��0pG�F�� F����h��@G 	@���h�r��8�F����������5Jhh$�B�hC�"PJhRJ`�$���� F2� 	@�F�
    � F���	h��@G����p�F������U����nh�)h�vQ��G. F�ڽ�p@�3��	 $C��$C 	@, 	@��%���F�$�� ������"FO��1pG�
    ��O��0�������#����w���F���%�(�,��
    ��s�m�5���%)���.�-)� ���'�� ��0)� ���� � �O��0�
     *)�!h!`Q�+!`����*�"�� �RB�
    ���09������0
    *��.)�!���*)������)D� ����
    ���09������0
    *������l)�L)� ������ ������ d)�i)�
    ѽ�(�����o�	���B����
    #u)�#x)#o)ѽ�8��p)�� h `h������B���������/�c)� h `h� `#�"��@�@ �p��@� `�p �s)��~�����0���?�������B����@��(������B���@��0c6h�kF"F�
    ��GE��@���8���3�m�@����A�P��@���
    ��`�m���(?���@�?����m��
    ��
    � p(F�p�0��	xR�pG� !
    �:����pG���	xRpG h `h `pG h `P� `pG�$%+D�[B)�IBR-%������'�dy\�1F)�єB��0!�d��)��]��Fh)�I`h�J`p��y���� F��@�o�~I	hG~I	hG}I	hG}HhG|HhG pGpG��pGpG�F`h� �FF hT�����hA�`ah)��`` �-��AF�F��F�$�F�.�
    )�#hH����������h.� F�@�@�B�#F��)F�s��8F�����>�
    FBI	�F�BF(����@I	��B�����!FBh(F��>�-I	�1��!F(F��>�GKh�,H�G��t!��jFBI�G�>�-��CH�G��wF�F&t� ��:FAF����F�)"� � ��@F�i���hȱehu�(F�����	@�E�+F�PIF����)ۣh�D���0F���@FE��%sκ%pH
     �ƺ: 0����n�L
     �T
     ��4\
     @8< ($,D��x��&h.&
    F�0F��J��B8�h�!hD!`r�]��xdc.runtime.Startup: 'maxPasses' exceeded(null)0123456789abcdef('%s'){module#%d}{module-rope:%x}"%s", line %d: ���!hF�� �������-��A��Fh�FF"&hx �$/���8�_x�L/`�V��hAF����%�F/
    �V��AFV��� �hF�h�����S/�V��a&`#F(���i�h���������D��&h!�`")h	)`f/�)�)�6�!����ip!�`&`����O��0�`pG�����������h�]�������������(���d��������������)��]����;������'���`��]�� ��M��F ��H� F��@�����T��T�apG�����3�]����h�@i�pG pG�F0 ��
    F�FF��!�������	���*F!F����0F��d��'8F�������w���׿�����������h��i�pG pG���������� pG��g��N���{��h�h�G���y���y���������������������	�������A���p��pG𵏰F0 ��
    FF��!F���������2F)F F����8F�����T
     ������!�F�� ��k�� ����.� F���	 �	 ������!�FH��P�� ����� F��	���`����(�F, ��
    F�FF��!��D��0�	���*F!F����0F����� 
    ��8F
    ���	�����}�dp���F�$ �
    FF�!������� ��*F!F����0F�p�p���F �
    F$ �F�!F�����*��2F)F F�����p����pG���F �F ��!F�����
    �� F��Q���	���x��)�0���F$ ��F�!��`����� ��!F��r�(F�0�0���F �
    F$ �F�!F��,�����)F F��[��0�	��������A����pGp�F( ��
    F�FF��!F�������3F�)F F����0F�����p�	������ϸL"QC�3HDpG� p�F< ��F�F��!,H��R��+F�!F����(F����� �p�0F�p�p�F< ��
    F�FF��!FH��s�3F�)F F����0F�����p�����
    �� !�FH���� ����� F
    ���H�h����L �(� �����,�!����G,�!����������
    �jF�� ��	�o�`O�q�aI�apG]��iF��	����O�������pGE�b�"b�B@�����H��-(� �-0�FF9(� �<��I(� �H�@�-�(� �-H��-0�pG���-�(��-pG"@�=@�-@��@��@�I@�����@�@�@�@�@�@�@�@�pG)�-��O��������G������G���$h��$�F��� ` ��`��`�L���h(���h F�"�������$ `���ho�AC`���h��1)�h���$@A�2``���h(���p�F���!`���	h)�����D���$�!!`Sh����]�hC��r#p!c�h0F�1�1F(F�a�����m��@�"�B�hh��a��@�I(�(� ��A���hp0F����`	h�h �G@  ` ��P`p��F��Hh��`���!I(�� �o�	�B��F���$@��P���h�O�D�@d ��`�����a��`��a���`�p�F��F���F���C!�b������#@��2,! F�����c�h��
    !�O�ph��2!�I�0h������c�!�?�(F���F!�8�(F��@@� 0r(F� �@�0r(F�#�F(!�$�(F��@@�`�r(F�/��@�0p(F�1����P@�|@�(F��F!����<O�`s� F�_�����)�L�M�)*�&�!j�#�O�B*`o��J��03@N
    �3C��63C��0��&��0	F���0o��h3@��C`�O�A)`�N�J�h	\�@!�bO�q)d�
    !j��A�0�p�(&��&�! �5��H���"� �P�F9F �)� �H��B��6h&�@����KhhO�`"!0�GO�`(`!�! �� h�I�?pG��I��Hh�I	h��b���! �O��s�I�FR�"!@(��(�IA����?!�!RB�*$�"F@��A�@pG|Hhh���@pCpG0�]LwI
    heh���Q��C
    �$h%�%q$���$s��C�Q��C"($��@CF0�! (�gHh��QFpG!"(�cHh��qFpG!"(�_Hh��@qFpG! (�YHh��@q��PCFpG (VI�SHUJh�
    �0@�QFpG!"(�MHh���aFpG!"(�IHh��EQFpG(�� 8pG#Hh(��EHEJAhh��A�QA�RH�A��h��A�B`h�*��A`pG8I��
    `��@H` �`5Hh(�� �`pGP�`B\`@"C�(C C�!@9H @	@����hB	@�"C`@�?PVb@�P`@��`B�Pnb@	@�*C C�@pP���A�@ܡ@@�@lP
    `@�?P�@�7���@p�@, 	@PPxP�P�P�?@�?@@�?P<`@��CB�	B6�*��F������pG���"#pG! pG�Bq���p��������,�@�� 2��3C�@_�F�@�[_�2�q�$� F)FvA��0!p�*��p� б�������� d�� �Ӳ@_�D�@%�R_�3�q�$�0FqFdAmA�� )p�F�����E-E�E�����U��@�E�����R@�@p�
    	HhBhh�B��@�@pG�JhPhh�BF��� 	@b���R�;�;�$���у@� ��:�0���8:��8��0�S$�����D�Q�;@�;�$�1�+ �+D�xppG:ӱ�:@�;@����S��"��ӻ	"�չ���������h��1�C�?�P�/��������pG�0Hh�((�O��0pG,I
    h��2K���BO��0�h(�  pGK���B� pGK�A1�B� pGK� 1�B� pGH��hHh���.(�&����(O��4�
    ����-�-�-�-��
    �$�$	�%�-���
    $��<F`���PP�P������ �����(����p�F
    FF�Z�@�A�I
    h*��.�.��%p�%��%`"
    `(���p@�E�p�8�F
    F�;�@�A�
    I
    h*��-�-��$x�$��$h"
    `��)� F2��@FF"����A+F�p�;$��@A�A��@"��8�F-F�=�$!���� @���@2�p�F���
    FbNը��#"���ը��#"�	�`խ��#"��s�!0F����F)�#O��B#O�ROH4!����8�F��}�LL�h@O�zqHC�E���!i@H�@B@��1�B�(ڠh�h�B�"hZ�@IJh�O��`�h��}!HC�:IHC��B8�F�(�� 2���zo��O�z`2���! ������=�,I�`��� ����(�#"4!%H��n����&���)�"I�h
    h�`��� KXC`�B8�F` ��! ��c� �������L��
    �``�W� a�Hh�e��I
    hI	h$8DC��"D��	ZCXC	�"HC�@��@x �?P@B��P�PpG@b�"b�B���F�F9(���P��_�A|(��H�@�+�(� �+H��+����r�pG���b�pGHJ�hxhR���@p�PC��� �0pG(P	@Pp�F����E�A�N0h(�РG 0`-���p@��Կp��@ �#("!��ѸpG �#0"!����pG8��o�%h
    �)h!`���(F2�p�F
    F&h (`�����%`
    ������6h1h)�ѮB����� p�5`���� p�"����B�ձ�0�B�FpGR*�� pG���4�F��
    �}
    �I�uɲ����z!�L�������kp0��e��k��,�h	h ����0F��N�(F���@�����F {�(����	}(����h���o�pA�B
    ڰ�pO��������k�h�zq�B� �8����
    ���*h��xI��C`��@h��O�Q���`/Рi�`!C�a!���4@��F�1�p���P���4IF�i�`/'Рi�-�H�%ԨH�%�hH�%h@�����i!��@�C�a0F��3���h0	�`h"O�ci�G�0F��$��i �!���	���
    �ei(�`h"O�Co��G����wp�p������X���J�jF����@��b�iC�aO�A����j(I�nj.F��h�k�B$��L��p@O�Q��κ��j�� �b���i@B�2C�abi�Cba�h"��`F�0����!�����h����d��l��p@����biCba�hA��` �a�h `�i(���$�����bp� ����FF7nF��G���� @)@"�B��B���E�8���@��%���瀵��.����'F�k�k��@G����G�=�k�B����� d�L��@!��W����d����Bн�@O�Q�����H��8�)Q���8G`j�k��h���H�ah�cF���*Ahx`h	x�B��i-�"O�so���G �� ������!�v�k@~	|B� ���k��@h�h*��h(� �a���
    `@��p���*` �a���Ha��c ��2@��3�1�-��A�F�@����V�k@h@h��G�k���h@h�h)��h)��i)��!�a�h��G�k@h�h��G���
    ��� �a����
    0` ��"��c@�
    ��B��{��s"B`B{��B�Bs"<hb��Fbh*���B��``@�a{��asij�h	��B�@��B�9���!y��a�,
    x��
    pJx��B�Jp� A`A{��AsiF8h��hF��8h���i(�� �a ��R�(�`{��@�`s�
    �c8h0`������L
    B�pG ���9�(��<E��1��p�c��(`���$	h2 �4���� F��� F��@���-��CF
    Fh���D���.��j�i��0���^��i�C�aph0����hvh:F#�G%�E=����t{�&k.pбh  �Ih@y�²j�
    �@��B�@��B���h" 0�����i!�aqh�@��#�(�(	�(�"O�S�"O�S�"O�C���h����G�����F�@��� k���w�0���������6�h���0�B�9})ёx	�h!� �p�����kh����$&h����p0��f��hp0��K� k(%��E����@�		W� l�� ��q������!l�B(�@@��p�`@��a��� �B$�@���`  d�����
    �x{!B�p�HE�"O�so�q0F�G"��\@F�����~P� ��hF�_����� �v �� �}@�u �v ����wi/�"O�c!0F�G%�U_�%� �(� �wC�(C� ��  8w �y��������V�c"@F�����~x~��B� xv�l������!lbl@�0`d�l���� `d���x{��@�xs x�8{��8s x`/`�O�Q��5F�զj.�ph(ж��hvh" #�G%�U�)F������!�L����p�F�(�����L��0�M�ch}��8��^��� ` ��� ���0|� ��� ��(~@� (v!�L��p@����p�0����7�������FhqMA�`���~��x����#��L��X����x� ��� x���&	�! ����8����_��x����#����9����Y� ���`x��t&	�! ������#"��`��������<�c!O��p��
    ���H�v!�wAv�v���w)d0�-��A@NFp}��F�FF����� pu/�g`��G������"��})>�!�u��!�5�	�� a"����	�(h `hh�`(z t�h`a(i��ax!� ����#$"!hF���� ��jF!�8����#$"!hF��+��kF"����p��D� F�������� ��8�����I�� 1���th���� F2�������F��0��\%A���EH�Ui "E�F2�� � -��O�FF�F�F������U�F��4��6@��(o�Hڨ�@������4�� {I�@�	�@��(��'�p��8��`������ !���������
    #���@@��� �w@��xhj(9F�$���i�@����a�HFK���`�H���@D����HF��V�0FI����Td�L� �p�� pB� �w pw�v�}@�uHF��<��jh��� � ����&��~ ���)�F0� 0v�h�����d���l�k�h@���	h���!�0F���� F���� F���!����������@  ��@��wpG�L��佰���0F����-��AFFFF��H��F8F����@F��C�
    ��!B	�@F��;�!�B�� !�yh��l�B�yh1fx`��E@F��'�O��1�8���������ܵ��gF��g���03 F����(� O�AܽF F����@"O��C��x
     �@@F�����B�-��C���B`j��F'F�������F
    Ѡj(��j�����	 �w�������|Рj�B�%�(�`j� `b"��@C�w����F.��������Y��t�%���c��i��(��8F�����'S���B�������(� `jh`b�W���G��M���(�� ��h���h�B�������h��!`�h�`!`���&��,��(���,��'��(�����~���'��`�����c�����  �`H�c���8F����!@��@��whF��ڸF�0���@F��ܿ8���A�FZH�� h� F���F�H���(с 2� 2��>� 2�@
    FMI�k�B� pG
    �Q`
    FGI�k�B� pG!F��p�BI�k�Bo�ё� x�����FDH��F����(�0p� Fp�� (F����p�FF��x��$-I�.
    ���j:��j�&J�~���)��$�� )p�$��d� Fp���F��|���h�8�����I�RՋ�B�"����+C��4Ih�@#�
    `	h	�
    Ju��2@��<� �/�o��� 	@�5���I�K�� ��� 0@	=��������@�����	3�!Ih�C
    `
    hB��pGI
    h*���a`�i(�� �aHhpGHho�@A�q`!H�`A�0Aa!�`P!Aa!�`O��aAa!�``pG
    Hh
    `�hJ`�h�`@k �x@@�P�`pGpGF"H��B�@@`A@LP!pG �#$"!���pG�� �	#O�r!�����9����#"4!�����C�� �������hpG���@���pG")�(�@��"�(�O�zrFpG������pG������!����GpG-��A���������y(a� �q��pf��pv0{hqph������� �����"��A������"�Q�0�����"��A�T�����h �G�� xxh��Tp{ �,� (p�,�,� ��,����O�zpB�p	h�����T�����T�����,��W���Z�8h@\� �}�
    ������� ��`�`aF����� ��F������|b���0[���0۲#��h#�@�C�`f�-��AF�����F��Ph��� R��� Ҳ*?��P��LE�.xo�0�!h	j8F�G!h�j8F�G!h	k8F�G��( `��$h����p�� ���G	�!h�i8F�G!hIk8F�G(���??(�����hx�??(�����@F���A�����F��x�����h#�@C�`a��� R��� ��@��m���F��c�F��|Tp���J)��� 9��@�8x�??(�����xx�??(�����~�8x��Tt�9h�i0F�G9hIj0F�G9h�j0F�G���@�� ���G	�9hIi0F�G9hIk0F�G(�� F���@����� `��h���pG-��O$��O�
    (�F�&d��������(]� �������� �V�T���T�����` ����(� ��O�
    ������`h ��Q��O� ��K��H� ��E��H� ��?���\c �1h	kO�`�G
     ��4� �1h	kO�`�G��@��Ps��P� `H� 1h�i�G��@ `����$�&s� ���l�XF���F-��-�2jRh!XF�G8h��8` ����Hh0h�k�GT�-�2jRh!XF�G8h@�8` �I`@F1hIi�G ���� �1h�jO�`�G
     ���� �1h�jO�`�G�I ` �I` ���1hIk@F�G(�� ���I `�Hh�Hh��պ�� ������� ��F ���������M������0F����0�$(���!�(������n�{M�I���@��"�x��n��#�J,!��������F��Q� F�0����8�����FiH���$���V�F(F���� F2�8�����aMF��� ���� ��� F��2@��ݻpG��� ����(�(�����"���@ ��aHSIhNL��P(�O�zpA�0	h�����T��r��T��@��U� �#O�@R!?H��@� pGp�F=N0F���%��0F���F�h B�2i�h! F�GF-�0F����(Fp�AI(�@��p ` pGp���u�)N)MF���(�����h� ��� �h�GF ������ �G�!I	h2 �����!�0����0���� F��p@��P�8�(���)�(���o�LI ���2 	h�����%�0����)F�0�����0��������� 2��@L t�?P� ��( `( @, 	@@	@"C$"@@@�C	@����?P`�?�?�?�?�?�?�?�?�?�?��?�?Q?????????h(�  pGhpGhpG8�F
    F��!)`ahi`ah)�
    `%`e`���2@��hL� �pG-��OF�H�Lh�M�� �q�H `����b��F�Hh�'�	�����>�	(�� �E���F�Hh��`�����F�Hh��@����	�
    )��!�o�	�B��F�|KB��R�{Jh��'RH�G��G��� ��*ڪy�B]Ш�&���F������#��O�,.��(�O�vF.(�&	�
    Y�&`�����
    
    �����+^D_�{D���K^D
    ��fY�.�	��
    ���#�D�D���C�D
    �
    �j@��"��qrC�2(�� 4#��XC
    �"HC������?(�O��p������CHh��(` )�!���I@����9		@��;IC ` ``����8Hh�������+I�� �B�o��B��F�q���BҌ��+Jhh�� *(�"#R�@���?(�O��p���$Hh�pG�#K�h�@`��@o!�Hh��\h��hh��S3�КB�o�!@`��B�
    X�D�IX�D�`�	@0	@� ����?P�P<Pnb@$"@�P 	@礀4	@(P	@�?P����@�A����
    h*��$h"
    `���� F�8����C��� x�{%C
    ���H��x)�!�p%��F�
    � 2� ���� �������h	� 2����#@!`!�a `p2�p������!`H!�`������z)h�)��t#)�hK��!HC
    ��hh��@(�������v�hC�U`{� `s��Hh� E�H`)A`!�`�H�{(:� 9�)	�h(F������P(.� -�),�h����a(h�a(H�@B)H�IB�B�� �hh�N���#O�B0!0F��`��h�r�!0F��Y��i�q�0F��S�  p  s��s@-��A�L�����O�N�H�����xJ*����"3F[3F[3Fcn�I	h	h  �G �`#A�P8aO��r ��p�#O��r!@F��0� 0` D� �a(x(� 0a  �p 8` p`ph�4��x(� �K� � �F��x(� 
     �p �)� !�a!�"�a
    )�!!ip!9`!�`` 8`&�)� 	 �p p`� 0`p` �p�x���A��ٺ!` dI` ��T� ��=� �p �p���A��|�����#`"!@F������XI^H����
    )����
    
    
    h����Ah����Ah����h���Ah������M���@9���FHL0! F��y�AN��� h`! F��o���@�` ! F��h��� �a���`(`ц���)i��� *�jh�h�`�a�ija�i(L�o�"�@B�p�ih�`(�ji*�0(� �0(�� IH�!�`�(�ji*�8(�� !	�8(�� I@)��?!�`!ia(a#�h���O�B0!�<� �#O�2�4�(i�$��/�hi�%��+���@-	 t�@,P@L @@�?P 	@<`@�@@@4`@����#O��pG���
    #O�@b !pG! F��ھ��9���=� �#,"!��C�pG �#<"!���pG����������!���������������@����8����������H��	!a�`F�%#�[
    �B�Ӌ�"#�,�"�O��r@�9����0`` ���`�h``1���$%��1������<(��`.��Wh�h:�Ղ�B%�+�#�9�D#����B�'FF�����*���SF�A9�A�A	�B��%<FD:�*��'�'�����8F��F��z����`4�,��$�,"Kh�B8�J`��@s�8�F��e�!#���'KC��lJ��B���d��H2�I)����\� 2�p�F��K�F "��hBC��lI� 0e�d"�����d��D��B� F��>��Hp�@(�� F��5� p�8�F��$�%�� "jC�ZДB���#��2�m-������ 2��F ������(�k�"���PCD�h�o�� F��@GF�<pG� !���&$��D@(�de�� #��@S(�� ���`�`��@��p�������FhF���� �"@�0�iF��l���h���h���������F(F��f����0F���� F��y��p��������V�o��������!'��6OC;D�?��]`�h�`!sih!a��B�����0F�I)�����8�����.����y�!#���%KCD�K�O��s�U`#�`!qih�`�I)���n���F`h0��������ah�!`�!�r0�` ���@h8�����F`h�������`�� �o����@h���� �8�F
    F��/�!E�!h�%`�FQ�,*��A�\��2@(�-��AFo��h���y(�� y(�����y���'yCADIh����0F���� y(q�yhq z�q�y�hxC@D@h0�����yxC@D@h@h���� ���p��$���z��o�p������h%A�
    F��
    h�`"
    `�"�r����(�`� p���y!q@y�q p�F����(
    �#��P$XCZ�O��r�B�O��0pG� pG�y���F���{��(��q F��@|�O��0�>�F����� yiF����x� �� ������h�h���Go�>�����(F>�����#hFO�zq��#����#�BO�BؐB�o�� ` �8���������F���(�(��o�2�`h@���hh����@�A�2���O��0��iF����(��2���@h���� ��<����@h��^� ���@h��V� �����R����� ���������?� ����FhF���� ���������FhF�����h����� ���#�h`hjF��4��F����`` �F�hIhG�F���h�Ml� ���o��#$"!���:� ����#yh�H���7� `h� �� ��hF�h�G F��=�0F��h``8i�`�`
    �(h�GF h����8i�`0Fih�Gyh h���� h��t� ���F��`hiF��� ��`` F�������@h�o��h��d� �~I	hA` pGP�FzHho�F��#O�zr����#�BO�BؐB�0F`` P�-��A��F��M�����F �%���(�(��o�c�ph ���O��0��iF����T�����'����`h����x����L�ѝ����o���������h�G@��������s�0a��������'m��(�����������B������V�1F�FQ�,*�ѢhA�,�`���-�`h����m��8F��������'�F����(�(o������!$J#KC�ZO�D[hh�B�!q�I)������0F����� ���F��v�(�(�o������F����!J#KC�Z7Ч��B��Ih	h�B�!!�`��I)������O��0�� @@ p  m3` ��L ��p�F< ����o����r� z�a"`�(b)F�h(a`h����F(F�����0Fp� p�A�-)�o�pG�R�!G����������'�M�Y�u��������+�y����������������������'���������_�-E��;S������ ����-��N���y�F&@�;F�x{y��������@�{A2�m8�m=ЭA�m�z�m�}�m��m�m�m�m�m���m�m�m�m�Àm�ˀ�-���,@�݀"QF���,i�"QF�z�,b����b��,\�+4К�8q���(��*�*���(��*�*��,DѼ�К�xqS�(�*�**�HF�����(��*�**�*� �G���&��,!Ѻ����� ,��������q3F"F!� ,z��������q3F"F!HF��v�,jњ�(f�8rq�,bњ�(^�xri�,Z�O�p"QF8D����_�,Pњ�(LڸrW�,Hњ�(D��rO�,@њ�(<�8tG��M�7т�B4�x�?��E�/т�B,Ҹ�7��=�'Ѱ��$���/��5�Ѡ�
    @�wB�B�8�$�,���(�����P���p���\����&�&
    �((�,Ѻ��:�F�&0F���!0F������,pG"FQF0F��\�8�$O�@s
    F���,6�R6�R7�R8�R9�R:�R<�R<�R=�R>�R>�R>�R@�R@�R@В@�R@�R@�R@�R@�R@�RF�RF�RFВH�R�RB�RD�F��xB�"�10�"�1-��j(`B�"�1'�y4�Hy2�ȋ6�y�1��y�1�z(�Hz&�"O�p�z ��z��"�| �H����Ȋ���"O�pD(F�����H����Ȍ
    �{�x�H{(p�((���(��$ F2����F�x��� c�,�����x`x"�	� � �����x)�)��@x"�#� pG���#<"!hF�������P�#O��q�jF!��������p����� ������E	h�U��&hF�G��`p��b �pO��p ��o� p# �" �)F�8�� �/��\�� �(���� �p� !#%+��:K��b r`r�r �r! ��=*F! ���,! ����# �")FpG���������T���D���
     ��O��0�hF!h�G(K���	 ��hF!h�G���(>ѽ�(�hx�B-�0�O��q�B	�p�@%��,! ����0x�(��(�0F�|��py(�0�(��{(�8F�J���$�� ��F8F�$�F��^� ���hF!h�G���0�O��q@��)yhyC(�� ��
    �(z��"hz��O�p)
    ������z��iF�z��	hx�4�(� �p(k(�h� �G����O��q@��� �t���A
    �O��q@���{(�(�����W��+�ꊩ�h���O� ��pG���M�xO�sF��xhy��*<�*�*\�*��*�*�̀*��*����`x��! �$��! ��"�����3� �p���yhx!���� �p(k �h��x�G��bx��xB��yhx��!��`p�)�)�)�(
    ��)��8�l�� �:�`x(����cx�+y*�)� ��+�  ���
    �C
    ��8�8��+� (q hq�x(�  ���`x&�"!0F����`�(� �p�h� ���`���x(s(|(�(	� ��O�zqAC�\��b��x#!�
    ���1(�� (q }砈��!��8� h���脠yhs�\��8F��O��p(�hy� c�y(�  �p ��Z�8F���`x(��h� ���`���\���(�kk+�ꌩ�h�h�G����!� �������(|(� ��
    A� ��
    �\���(|(�(�h�ሁB(�F���� ��B8�F���`��B8�F��)����B�F�(�(
    �h�������芭�(�	���� ���`�������hF������F(Mz�Fh��B$����BӨ����B��9��B� ���F(���x�����������8���hF�[�Ѭs1F��5��'8F��>�L�x-� >������� ��0�\�:��iF����>�I��C���j��׸� � T ���!���!��� ������!���!�����hF��t	hG�����$��`�� ���@��@hF	h�G��0���F"��� "��4	h��� FhF�G���!����)p��`�0���� �� ������� �������� ������� ����	h��hFGP��� pG�� pG pG�#pB��#A�|A�p��pG�#p��#�p�qpG>�F ��
    F  �� ��p	h��hF�G ���o�>��#"!FO��0����>����F�x*ъ���45���X��iF F����(��Dx��D� F������F"!K�8�FF�������iF(F�������Ex(���y�B���h�"F��������(F2�����2����|���
    �2F)F�����G�8r��L�;F����@_��"!��8����"!J�1�-��A�]��"��<r�`>������*�9F���A��X$��%�8��+��"��,�+�1�!P�"!��-��A�6��"���`���s������9F���A��$^� ���!2�"!��F
     ��!*���)��`����+F���0@"!������
    �"�����=�9F���@���#5� �"!?�����I�#�#�M��x�(�P�@�a�Bѐ��B��y��B� pG pG���$��������#��x�(�P�@�a�Bѐ�(�(ѐy�((� pG pG���O��2F)F�����`����9F���@��#�� �T -��A�$�
    ��AF����<�}������m�h�F
    F �BF!��p����~���Y�!�F2F)F F�#�v�F
    FF�F ����-��A�F
    FFF �����"�i��g� rer�r�`� a�`a��/�!F���A�2��*��
    3"!I��	3"��������
    "�E��
    �8r}�>s���9F���@��"k� �!FP �����#"7�-��A�F
    FFF �����"� ��� rer�r�`����!F���A�"��E����#"!��#"��F
    FF�F ����!���p���f��0"�����	�1F��p@�]"�� � p�4�u�����0���F ����
    �1"����,�������#�)")F��"���>�
     ��J���v�
    �"��z��������������#pG��a�
    �"��e���{������������!F���p����"��O��	�1F��p@����� p�4��`��X�F
    F �������
    �6"��y�<�}���9F���@����� �F
    FF ���F ���F
    FF ��޼-��A��Q�������<�>t�`�N�xt���9F���A�i��x����8�FJh*��FF!F �G2� 2�
    Jh�
    FF GpGd
     ������1�� � -��A�
    ��F �������<��r�����F
    FFpG-��A��������`�`����Ͻ2F!����-��A��t����������8r�`������x�(�P�@�a�Bѐ�O��q@��~O���B� pG pG#��#��#��
    #��#��#��#��#��0#��1#�瀵#�#�������#����#��6#��x�(�P�@�a�B
    ѐ�O��q@O��R�B���B� pG pGp�����#����0�2F)F F��p@#�� p���#�瀵#�#�瀵#�#���
    B�/
    �B�/G�F
    FF ���p�F
    F��Ё 0p�� �p��)�*F1F��p@���� p� �� ��˻-��A��:��F ����	��
    �=�~������	������� 8p �p��pG=��`����BF9F���A��W�x�(�P�@�a�B����B� pG pG8�FF���!�²+F!FO�@����2�<�}���AFP ��ܻO�C��������
    �"�"�<r}r�#�9F���@�y��� �����t�
    �"�
    �<r}r��9F���@�Q��� �!��λ<��r�`����x�(�P�@�a�B
    ѐ�O��q@O��b�B���B� pG pG#��#�����!���!��hFCI	h�G�𵉰F
    FFF#$"!hF��|��<I	h�kFO�zp������������)F F���� F	����Ϻ8�F
    F����� F�������� F���� F��2@����������� ������� I	hO�zp����pG�F!��x� F�p���F ��
    F �� I	h�FhF�GX��I��` F�����(F��}� �0F��� �p��F�����BЄh��s� F� �T �����
    �!����!��� ���!���pG�������!�����hF��t	hG���#<"!hF������`�P�#O�!q�jF!������������ �� ��,��0D	h��hF�G�� p��`�<��l��`# �A�2 ����1��� ``! ���� ��
    � ��
    ! �� ���� ��O�zp��@�0��#�
    �
    !@�0����T!O�Bp����t!@�0���jF!O�Dp����!@�0���
    �!@�0�����!@�0����
    �!O�Ep�����|! ��S��! ��O��! ��K��! ��G��!	 ��C� �� ����! �� ��O�`����
    �!O�`����
    �!@�@����
    �!@�@����jF!@�@����O��0���O��0�����X��}�����H���� a�;����c������ x��|� x������v��-��N������O��z�M��T� ��
     ��O��0�hF���G(@� ��	 ��
    ����G�� �(hѽ�$(�)x�B5�8�PEѸx/�hih�ixIip�y@�����(�(�F�hi)x@�"����XF���8x�(�xx(
    �x�"��{�(� ��oa$�9y���O�O�D�8F��k�$��O�Ap��S�����jFpx��!�x�� ����py��0y���x�� �� F��[��h����h��h��,��� �(�Ѡx(��(�(�(	��� �@������������������PD�������(��iF@�0�����h�A�O��q@h�������(��h`��f� F���(i����(�+�(i����F z(���h`������%LbiZ� �y�����`i���� `a`p��F ����P�!��pFK�h�h��@�������F
    FF" �������`<r}�"1FL��� i9F��{��h���@����IJ�CH��h���T �  �#}H"!��h�-��C$(��F�FxO����$0<HS}.v�2FIF�v�.w�!����2FIF�j�.k�!�(����2FIF�(^�._�!�@����2FIF�@R�.S�!�X����2FIF�XF�.G�!�p����2FIF�p:�.;ڈ7!8F����2FIF8F/� �� ��
    ����$����Gȹ���xh��B
    �!���!��hF���G2FIF(F��\�}`>p
    �$�.�2FIF���O��$�$ F����-��I�FJh
    �xRx�� F&��B�#"'K���@(ـ�&8)�:�	,(����B(���=��)����XF��]����B��B��=���xF�B
    ��B��
    =�Xh:�
    �,�&����B(���=��:�@F�����>�
    &0F���� d T ��!���!��� ������!���!�����hF�I	hG8��L�M�-�h`���)��`�hh��#�ih�`8�F�����h���� 2�O��t F����h F����h F�������0@�,3"!��� x���h�I�`pGp��FFF� p�`h��!"�>�0� 0��hx(p p� 0� p�-��O�F��xLh'(�F�F� xbx� ��B��B.� �JF��@F��F%�M�`+�h"YF F��0�ֱ���JFAF 
    �"� F���(�f�JFAF �G�"�  F����
    '8F�������MF(xF(�''0F�>�hF��>D�x�x� � h���iF0F���0F�*���������%��0F�N�v���B��! F�=���! F�`���iF F����8�FxJx`M� ��h��� �Bѽ���#����h���A���Bi���'��� h�1� h��� F��4@!+� F��4@��|�GN
    F�hF�A���#"�B����r�A�"@��� ���p(
    �Hp����(�s�iF F��ƿ|�3N
    F�hF����p�#"��������"@���iF ���p�������s�!hF����! F���!��|�N
    FqhF����(�#"������2F����@����" ��(�p�(�
    Hp�h��p�h�
    �p)���/�"�����������s�T � � � �@Q����@Q����@Q����@Q���9m�dH"!��x� pG�F��x$)�@h�4"��`�!�#jF	 ��HhA�A`�$ F�� 	@�@Q���gk8�O��t�B
    � <Jx�B�!� @�#@�p�����W���!�p1�0�$�d���BҤ���h�B��F0� 0���F�
    F&�+�xQx�'��C��B��hh F�����B��hh�� F��F�&�
    &�&0F򽀵����x�p�F
    FF�
    �@�)FO��p��� p���p p��"�RL$xӲ�B�Ҳ1�"0�B���� ��  �	�R"���˰���pG"�S�Q��`E��
    ��������8�o��� pGR"���˰���R�FpG pGpG��"I���� �>�xEx�$��@#�x�x� ������x�����Bв��o��#F>�pG pG(� J HhRh!GpG8�L F����F��P�JhRh! F�G F����(���2�-��AF
    FFF�����F:F�10F�!�@F���A��8�F����F ��(F��2@��HhA�A`pG�@@	@��I	hIi��Kh�i�G�GJ!`���`B���}����}0��������MF(xx� (p#$"!hF��n� ��"iF��l�h` F����	�0� !pO�+qA�!q�I�`�I�`�Ia�IAa�I�a�I�a!bAbO��1�b!��,pG-��O�F�F�����Fo��,`�!j)�aj)�����,��,(�o��,N��!x`��O	�A!j���G8`0����O��0��,:�a�D�� xD�
    PD� F������������)F�"x���[FRFF��h���"x�HF����!x`��A	8h���8haj�G����-�%��,Ph����-��O��F��)��)�Fo��-�����@����,x�!j)�aj)�����,��,(�o��,f��!x`���l�	�!j���G��0��|�O��0��,P�a�D�� xD	�D	�D�
    PD F�l��K���F���C���H�8`�"x��0��"x��+��"x)F�&�����SF����� �"x9XF��J�!x`��	��������aj�G�,��-�%��,Ph�������/�F"x
    �@F��(��` x�A�ppG�` x�A�p��� x�A�p�pGph��%�
    N�jph�����hJ`�hJ`iJ`AiJ`�iJ`�iJ`yIppG� �0�T�x�����DO HO LO PO �O �O �O @O p�����F&���R
    �$�����@h �h�1F�Gv(h���B��p����h���`��������
    �D��� E���E��A�!�
    h��\r>@���C2C@��&���/�������/�+���#���/�/�#�#c�B
    `A��B�
    �2�p��������,L�F$�C"C
    `���@��ھ�)H�!��@� �?h�	A�`pG����h�����(�����(�d F�-��O��F��G�����&(�����(�&��|�h��Q)O�
    �h
    ��C��d��D�x��`q����_������"YF8F���O�$�
    ��|T@�dU�$���)	��)��YE�&����� p�	 �������P#$"!�������t��!	�����$����PF��(�O��1���u� ��d���B�&���	�H� ��(���G�8]U� ��@��A��#0"!��������P��� (x�� �!	�����#("!�����hh��t�# ��	�������`h!�|QA�Q` ��T`��P` !����I
    h#�@pG� � @� `4 DP�?P� � �gl��0	@@	@	@� @��(�(�(�(
    �� Fh�G � �� �� ��������F���2����� (������@��<����F��������� (������@����������!�@L@(pG8�F hq=L(y����X�F x�(�(F��\�o�2�@ p��(�`h����(F���B�!x
    ���H�o�2�I!pɲ9���?�`h���� hq���7� 2�p�F`h�O�o�p����NF0x(�ph����`h����`hp`(F��� p���@h�O�
    ���{� ���@h�O������ �o���F���h`h` ������o���hJ!��� �X ��F��� q ������ ��F����`` ��F`h�����` �������6I
    x"�5Khp"
    p����@���8�����F.M(F�d�������(F2�p�FF������'Hh	x	��S�&�O�q"F�0F�'�X��O��0 p ����(F���� p��hqh0h�B�I `Hh��� I	hIh�GF�  p(F����0Fp�O��1��h�@:��_
    �Bh"����r	K�BҀh(8�!FpG� ��PB�@���h
    x*�"
    p@hh����pG�
    Kh$�d`		���pbD�DB�A��`CX`��@����	�iF�i����������G��� h�`]��������pG�����	�iF�� ���	��FJ`O�p�a����a���0h`@�`pG�����)�"�������P��G��(�!������@��G��,O�Q`����������	�iF� ���	��FpG���9�A��	 ����	�hF�F-��hFqF����{�0�pG8���{���2�F�(A�`!���o�F! ��.� I	h��B҂ ����L)���d����I� �������L�� �HM�hLZ�IIA�`HhA�`  !h�i�G(h h�k�G (`(h�������2���1@�����L �!@, 	@�$"@8��LM���������I�A�H����#hh"!(F�G"hRh!(F�G��+���G���%��������� 2��@@@(�(���(� ����(��� ����(���pG
    Starting main
    I`pG` �� ����(���pGpG�������K�N�R�X%a1BNZ$�0�0
    ����������������?���a���e���hDh�hD�T�H�KD�B��0pG�[���K�,	,��K4��{�{v��,��k�-��[�%mB�D���k�kd��������
     � ���@���	@�@�
    @��������� ��@Q����Img IdentifyImg BlockImg CountImg Status�P��D���Y#*A�;��_�|F�O������D�!pP�+*��pG<\0������,���������(�����ݣ�M�Q���
    �IyD1L|D4�
    hD�GF�B������L��������%�p���џ5�&$�$�!���$x
     ����l,� �  d08� �\� $� �,���� (�$����4 �����< �$����D 8�(����� T(<�4 (  @H(���#�pGH(���
    �pGu�y���ї=�����
    #*$*%*&*'*(*)***P*���(��������� �������� pG���@Q��������������]������D�@@���FA�!P���G��(())խw�Ӝ�p2�$
     Y�43�< �� Ph������ ������Y��Cŧ
    ca��� ŧaa8@5-@@�`]����~���#5c8�`E�8�R`��ch�-[` z�
    Model Number��SeriaPFirmware Revision�Hard�SoftPManufacturer Name�exp|mental*
    4`XC�Rd f
     C�Cla Rg R� �t Rh R� Ҍ Ri R� Ҥ Rj R� Ҽ Rk R� �� Rl R� �� Rm R� � Rn R�  ���0��$EK X`�!"�� �2,���Ǭ�o��@C��l WS�Rh0��@R@ґ@Ҙ@��@Rp@R,@Ғ0��0Rq0C<ғpҜ@G�0���Reset�dRrdR��ÖTO��Ara0��c0up����
    	SimpleBLEPg pherA
    ��@��& 'b (-���#��!a4]��0��!8�!�\DA
    �!CRC�	!(�6@ǒ
    4$!R<RDRL�M�5� �C�|!R�R�R�R�R�R�R���bd�Cx�ɒ�,RRRR R(!xC4�x
    ���̄e8�	�7�����$`l��lmvy�^��Z�#��pCt{@@;" x��K1!@)x�!R��|D!�(�pR08h!R@R)��i`��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

  • Hi Mario, looking at the first 16 bytes shows:

    4ff6 0000 0100 0028 4242 4242 ffff ffff

    Basically, for what ever reason incorrectly placing the metadata, app start address, along with the image type. (FF for state is fine)

    Eg. building the onchip img_b on my computer results in:

    5768 ffff 0100 001e 4242 4242 001c 01ff

    My best guess is that your post build step with oad_image_tool (or you just forgot to add the flags) is incorrect.

    You can modify the header in BTool as well, click the remove metadata button and click add metadata then fill in the data you want. (A warning will come up saying there is existing meta data. Overwrite it.) Then click on Write image file to output a new bin.


    Anyway take care to point to the right spot for program start: heres the command in the SDK, what's yours?

    "$TOOLS_BLE$\oad\oad_image_tool.exe" "$PROJ_DIR$\FlashOnly_OAD_ImgB\Exe\simple_peripheral_cc2640r2lp_app.hex" -t onchip -i app --imgVer 0 --usrId BBBB -ob "$PROJ_DIR$\FlashOnly_OAD_ImgB\Exe\simple_peripheral_cc2640r2lp_app_oad.bin" -m 0x7000 --r 0x7000

    I highly recommend getting the example to work first, reinstall the SDK if you need to. The out of the box onchip oad example should work.


    Regards,

    Rebel

  • Hi Rebel,

    I am using cc2640 and the project you used is for cc2640r part. Are these two parts compatible? Looks like cc2640r has more memory.
    So the example simple_peripheral project I used was for cc2640 processor and post-build command line was blank. I don't know why, it was like that by default.
    I built cc2640r project and metadata seems to be valid. I tried downloading image and it failed. I'm assuming it's because the image was suppose to be for cc2640r part. What is your thought?

    Thanks,
    Mario
  • Hi Mario,

    They are pin to pin compatible - and in general code compatible, it's really just telling the cc2640 to use ROM instead of the flash stack functions.

    Yeah, exactly - the code was probably trying to call ROM function that doesn't exist in CC2640.

    I'm surprised your 2.2.1 SDK didn't have the OAD build configs - try reinstalling it or manually writing the post build step using the CC2640R2F project or the OAD guide

    Regards,

    Rebel

  • Hi Rebel,

    I couldn't get the script to work. Is there a good example on what flags mean?

    I tried this script for cc2640 project:

    $TOOLS_BLE$\oad\oad_image_tool.exe" "$PROJ_DIR$\FlashOnly_OAD_ImgB\Exe\simple_peripheral_cc2650lp_app.hex" -t onchip -i app --imgVer 0 --usrId BBBB -ob "$PROJ_DIR$\FlashOnly_OAD_ImgB\Exe\simple_peripheral_cc2650lp_app_oad.bin" -m 0x7000 --r 0x7000


    Thanks,
    Mario
  • Hey Mario,

    If try running the tool from a command line interface, you'll be able to pass in '-h' you'll see all the flags and it's descriptions.

    Regards,
    Rebel
  • Hi Rebel,

    So I used the following from a command line interface:

    \ oad_image_tool simple_peripheral_cc2650lp_app.hex -ob app_oad.bin -t onchip -m 0x9000 -r :0x12000

    And I got an error "not enough data to read 16 contiguous bytes". What does that mean?

    I'm attaching a screenshot.

  • Hi Rebel,

    This is the start of my HEX file generated by IAR toolchain. I think the error I'm getting is because the first line (address 0x9000) is only 2 bytes and the OAD image tool is expecting 16 bytes. I don't think I can change how this is generated. CRC is stored in the first 2 bytes, but OAD tool seems to be expecting 16 bytes.
    Am I missing something here?

    :02900000B400BA
    :0C9004000100002842424242FFFFFFFF33
    :109010005844002025130100A50B0100A50B0100F9
    :10902000A50B0100A50B0100A50B0100A50B01007C
    :10903000A50B0100A50B0100A50B0100A50B01006C
    :0C904000A50B0100A50B0100710B010045
    :04904C00FFFFFFFF24
    :10905000FEE7DFF87408007D7047DFF86C28117DAB
  • Hi Mario,

    That sounds like the issue you're seeing - are those two bytes generated by your code or by IAR?

    One of the core requirements of OAD is leaving 16 bytes of space for the metadata vector. You'll need to adjust the linker file to allow for this space.

    If IAR is generating the CRC, then you should remove this from the hex generation. You'll see options on checksum under IAR Linker catagory, disable these.

    Regards,

    Rebel

  • Hi Rebel,

    looks like it's both the code and IAR.

    I unchecked checksum in IAR and I commented out the code for image header in "oad_target_internal_flash.c".

    After that my hex file beginning looks like this:

    :109010005844002025130100A50B0100A50B0100F9

    :10902000A50B0100A50B0100A50B0100A50B01007C

    :10903000A50B0100A50B0100A50B0100A50B01006C

    :0C904000A50B0100A50B0100710B010045

    :10905000FEE7DFF87408007D7047DFF86C28117DAB

    So then I used this command to run OAD IMAGE TOOL:

     oad_image_tool simple_peripheral_cc2650lp_app.hex -t onchip -i app--imgVer 0 --usrId BBBB -ob app_oad.bin -t onchip -m 0x9000 -r :0x13000

    Apparently OAD image creation was successful. So I started BTool and went to download the image and it failed. 

    Here's what the image header in BTool looks like:

    Why doesn't this update work now? 

    I'm also attaching the .BIN file created by OAD IMAGE TOOL. *I changed the extension to .txt so I can upload it.

    7G��(BBBB$�XD %������������q��������t}pG��l(}uFpG��`�iG��X	jG:����8����H�h���aO��0������F����h!���$�8��������XF�h!��ii�i�B8� ���2�p���hhF
    F�h!F�~�4auap�-��G�F��@��HHh�Y�FO��:��i�i�G��(��h��	PE���F��B�.F-h��(�Ѹ���hHE��1i)� ���`��PF���-��A�������WF�h!�@�!��!�ni)h*h��q�B� �����+���$�1F ����?F�B����j��F�(�1F ����F�i��F���B8�F����� (� ��.`������8�FF�`hi��D' a�a!F�i�a ��h��<D��(�� F��2@<�1��`�a"a�a��F��'��hD��8���WF(�(���(Ѩh!���)hji+h�A�BӢh�`#��ki�B�F��4@,�����h�` ����(��1�8�F����F F������!������hIi�B����h��pG�`pGpG��pGpG������8�$���W�hhP�$�Gd(h�B��1����� !���pG!�h
    h`P`FpGh�B� pG pGBh`J``A`pG�F����F hh"`hT`������@``pG8�F
    F����,`ahi`ah
    `e`����1�hBh`AhhA`pG���F~ ra�!���h D�
    �  ` ``�8�F����F |(� F����  t)F�h���~�p�F��.��F
    �kF2F��\������ � � ������F`�������:��8�F��,i�����-���hiF D��y���(��������0F�#�����F������ � ��a������`�@`�����|� ���� �p�p�F��x�F���h.0F��;�8�(z�N� h�@h�3����F0F��&�F 0t�h������h!F������(F��p@������!�-��CF��TV�j����h�h(a�``j�` j`b ��(� �����F����!i�h�h�G����HF���� (�����`�`�������F%i`h������ai��0F����F0F������`h@�������ai���B���p����E&i����F`h������ai���B��m�F��P���  ����0F��p@f�  ����p��$�!F �6�d��$h�B�� �@��	h�B��O��0�	���D�H�A�pG��89� ������b���(Jh"���������
    �����%���@(���pG�����D`h����G���D�%i`h������������ai���B�0F��F�F0F��H���`h(��  ���`h�i�C``8F"�����hpG��FFFF��I��`�G�� �=� ���G��b(F��� �p�F����F���� ������F�j)F�����D�iAhCA`������p@4�p����p�ab��� FpG8�F
    F����aj)C������2@��`a ai�@�apG0i�`pi a�i�pG�i`b b���ai@i�������!������C  ����`h(��`h�������i��ai�B	�"i`ah a���� �(������xC ������  ���@��8����$�!F �Q�!��d��ph�B��$��DV�(kP�$!���d���h�B��O��02�_����������C��]�`h(��`h�������i��`ah a  � ������������� i����������"
    �pG �X���l����B � ��������j�����pG����B � ��������\�  ����tipG\	 ��(�pG���D�F��T�hI�`ф�� ��������p���8i����F��,�F F��  u F������� F���(F��	 ���p@���	 -��AFF�i�`
    Fpj�F���<h`b7j���4h�D��iABJ�@�@�@ b8@�a�"b�aO��0`b�b0i�bpi c�j`c����(�����hI�`AF F��F@F������ ��R@�a��aF�i`jCF��( b�� ���p�
    FF+F���$������ a(F�{�8�  u �a�h��,)
    �!�`���	hD d!F�����h!�@�`�h�i�� d���F����F F�*��� p����(F�hFx�-��AF/M&loh�����p�0F��?��'�h`(i�B� ha  u (����8�����F)F F�����1�-��A��|cwhF�F�h l!F�� �E�p`  u0�������A:怵������#h�B���2�����
    �
    ���+� ��@��(���G��@����
     �	 �����O��0��9��9��/�8�FFF�F+F��``(F���� 2����!��������� p�@��hE�������������!������������Ai�i���9a$O��1`�!F �!�!�P�d���h�B������1�����F���"FF���h�F�ihQ� ��B��!���h���#����" F�n� �����`pih`0j��� (t 1�� ��	�@��`!F(F��F F�B�����8�F!{���F�!| )ҡh����@B`�	�����@j@�%@(F��!|(F��� {�D�(F�j� �`2��������!�i���`h�B�#�A�#@[���A$h�B�+2�R�#@���A$h�����!Ahh!�A�!���!QA` !�v���	h�`�6� !������pG���pG@�������pG(���Ӡ�R	8#���@�����1@
    �(�i
    i2��
    a� �pG(��<Ӡ�R	8#���@����1@
    �(�i
    iR��
    a� �pG��� �i�h�B�`pG����@ i���  `�0���� �iC`Ti�`%F*x�*�"!`F0�")����)��iYa��
     ��� (Dӂ��pG((���pG��`B`pG(���p8��pG��40[h"���\!h��G���������ђ�	 ���6��
    ��������	 -��AF��W�����F����F �����F��T�I@j����P�!p�`��B�xh�h�G��;�@F����� �������z�
    ����|�F
    F�iF� j�"�;� k�+F�j�2F�j j�i �b�v���<hpGpG�������� pG�F��$h"! D�1� ``�8�FSM`h)i�B���hO��1 D����(i`` 2� 2�1�A`���	hD��M�pG� pG�Z���}�����D�"
    `�D�O�r
    `@D�O�0`pG���%�H�`�H�Q`@H��`pG�F ��
    #G��a�+�#�B(�O��0��F�� ��O���O8��B�F!F��@ ��-��A�F
    F��
    ��E��g�w�oA4"D�A@F������g��������h(���`@h(Ё��!��O��0����h(���<@h(Ё�!�{)���pG
     ��F��v�F��U��u �a��o��j	j �G0i���/4�! ��t�:hh#! �G��� `���h!��!A�1` (`��������Dh��`i�i��@G�� ;���F
    F����
    g2F;F��=���#�3�3��#����p��|D!`!�a!` h������l	h	j �G h�8�F���F F������� 2�-��AFF�i�F0FF�i�����<Fv`��i#AF0F�Q��hiiϹ��h�h���� ���ih9`�ihIhy`ihIh`ihO`�s��9 F���(h�� `�#������FFF�i�iF0F��v`/��i#9F0F��hi�h�� F���(h�� `���(i�qh!P FpG-��C������FhFF���	�B��:F F�k�%`d`��E���F�`JFAF(F�o�.`�����H	x)���h� � ��pG����������� C$h�G���F���h�b�-��AF�F��FF@F����F����h-�(F���hCF:F1F�A���@F����h����h���4#����"@F����8F�������#���p�F�F�����*F!F��0Fp�
    iB`Ji�`Ii�`pG��F��|h
    FF�	�ah&z
    @���hs�B����� �R�D�`a`����8F���D�(�pG� ��U#��0h�"��,� ��g�� pG�h
    `�hH`�`pG�	 �����pG8�!��$��R�hhP�$�Gd(h�B��������Qh�G$�hhP�$�Gd(h�B��1������pG��-��G
    F&�F-��������q������$�������h0�(�X�$ �GJ�$d�B�� ���F�	�	��xh�E�&$� @d�B�Z�$��X�$�GJ�$��� ��0����T�� 8`����O��0pG�F�� F�K���h��@G 	@���h�9��8�F����������0Jhh$�B�hC�"PJhRJ`�$���� F2� 	@�F�
    � F���	h��@G����p�F��D���P����nh�)h�vQ��G. F�ڽ�p@����	 $C��$C 	@, 	@�I	hGI	hG��pG:��H
     ��2�*����L
     p�x�T
     xdc.runtime.Startup: 'maxPasses' exceeded���!hF���������������������h�]������������(��������@�������@���g��]����y������e������]�� �����F ���� F��@��:���<��<�apG���h�@i�pG pG�F0 ��
    F�FF��!�����+�	���*F!F��,�0F�����'8F����)����������̺������h��i�pG pG��)���K���˼ pG�����I������h�h�G���������������	�����O��A���p��pG𵏰F0 ��
    FF��!F��������2F)F F����8F��P���L
     ������!�F�� ����� ����x� F���	 �	 ������!�FH����� ����d� F��	���`����F, ��
    F�FF��!��D��z�	���*F!F��(�0F����� 
    ��8F
    ���	�����ǼPp���F�$ �
    FF�!�����O�� ��*F!F��A�0F�p�p���F �
    F$ �F�!F�����t��2F)F F��)��p����pG����F �F ��!F�����W�� F������	���x��s�0���F$ ��F�!��`����� ��!F����(F�0�0���F �
    F$ �F�!F��,��%��)F F�����0�	�����@��A����pGp�F( ��
    F�FF��!F������3F�)F F���0F��B��p�	�������L"QC�3HDpG� p�F< ��F�F��!,H�����+F�!F��@�(F���� �p�0F�p�p�F< ��
    F�FF��!FH����3F�)F F��"�0F�����p�����
    �� !�FH��g�� ����R� F
    ���4lTt���L �� ������,�!����G,�!����������
    �jF�� ��	�o�`O�q�aI�apG]��iF��	����O�������pG��b�"b�B@�����H��-(� �-0�FF9(� �<��I(� �H�@�-�(� �-H��-0�pG���-�(��-pG"@�=@�-@��@��@�I@�����@�@�@�@�@�@�@�@�pG��-��O��������G������G���$h��$�*��� ` ��`��`�L���h(���h F�"�������$ `���ho�AC`���h��1)�h���$@A�2``���h(���p�F���!`���	h)�����D���$�!!`Sh����]�hC��r#p!c�h0F�1�1F(F�a�����m��@�"�B�hh��a��@�I(�(� ��A���hp0F����`	h�h �G@  ` ��P`p��F��Hh��`���!I(�� �o�	�B��F���$@��P���h�O�D�@d ��`�����a��`��a���`�p�F��F���F���C!�b������#@��2,! F�����c�h��
    !�O�ph��2!�I�0h������c�!�?�(F���F!�8�(F��@@� 0r(F� �@�0r(F�#�F(!�$�(F��@@�`�r(F�/��@�0p(F�1����P@�|@�(F��F!����<O�`s� F�C�����)�L�M�)*�&�!j�#�O�B*`o��J��03@N
    �3C��63C��0��&��0	F���0o��h3@��C`�O�A)`�N�J�h	\�@!�bO�q)d�
    !j��A�0�p�(&��&�! ���H���"� �4�F9F �
    � �,��B��6h&�@����KhhO�`"!0�GO�`(`!�! ��� h�I�?pG��I��Hh�I	h��b���! �O��s�I�FR�"!@(��(�IA����?!�!RB�*$�"F@��A�@pG|Hhh���@pCpG0�]LwI
    heh���Q��C
    �$h%�%q$���$s��C�Q��C"($��@CF0�! (�gHh��QFpG!"(�cHh��qFpG!"(�_Hh��@qFpG! (�YHh��@q��PCFpG (VI�SHUJh�
    �0@�QFpG!"(�MHh���aFpG!"(�IHh��EQFpG(�� 8pG#Hh(��EHEJAhh��A�QA�RH�A��h��A�B`h�*��A`pG8I��
    `��@H` �`5Hh(�� �`pGP�`B\`@"C�(C C�!@9H @	@����hB	@�"C`@�?PVb@�P`@��`B�Pnb@	@�*C C�@pP���A�@ܡ@@�@lP
    `@�?P�@�7���@p�@, 	@PPxP�P�P�?@�?@@�?P<`@��CB�	B6�*��F������pG�w���"#pG! pG�Bq���p��������,�@�� 2��3C�@_�F�@�[_�2�q�$� F)FvA��0!p�*��p� б�������� d�� �Ӳ@_�D�@%�R_�3�q�$�0FqFdAmA�� )p�F�����E-E�E�����U��@�E�����R@�@p�
    	HhBhh�B��@�@pG�JhPhh�BF��� 	@b���R�;�;�$���у@� ��:�0���8:��8��0�S$�����D�Q�;@�;�$�1�+ �+D�xppG:ӱ�:@�;@����S��"��ӻ	"�0Hh�((�O��0pG,I
    h��2K���BO��0�h(�  pGK���B� pGK�A1�B� pGK� 1�B� pGH��hHh���.(�&����(O��4�
    ����-�-�-�-��
    �$�$	�%�-���
    $��<F`���PP�P������ �����(����p�F
    FF�Z�@�A�I
    h*��.�.��%p�%��%`"
    `(���p@�E�p�8�F
    F�;�@�A�
    I
    h*��-�-��$x�$��$h"
    `��)� F2��@FF"����A+F�p�;$��@A�A��@"��8�F-F�=�$!���� @���@2�p�F���
    FbNը��#"���ը��#"�	�`խ��#"��s�!0F����F)�#O��B#O�ROH4!����8�F����LL�h@O�zqHC�E���!i@H�@B@��1�B�(ڠh�h�B�"hZ�@IJh�O��`�h��}!HC�:IHC��B8�F�(�� 2���zo��O�z`2���! ������Y�,I�`��� ����(�#"4!%H��n����&���E�"I�h
    h�`��� KXC`�B8�F` ��! ��c� �������L��&�``�W� a�Hh�e��I
    hI	h$8DC��"D��	ZCXC	�"HC�@��@h �?P@B��P�PpGb�"b�B���F�F9(���P��_�A|(��H�@�+�(� �+H��+����r�pG���b�pGHJ�hxhR���@p�PC��� �0pG(P	@Pp�F����E�A�N0h(�РG 0`-���p@��Կp��@ �#("!���pG �#0"!��׿pG8��o�%h
    �)h!`��g�(F2�p�F
    F&h (`���V�%`
    ���R��6h1h)�ѮB���O� p�5`��J� p�"����B�ձ�0�B�FpGR*�� pG���4�F��
    �}
    �I�uɲ����z!�L��
    ����kp0�����k��,�h	h ����0F����(F���@��
    ��F {�(����	}(����h���o�pA�B
    ڰ�pO��������k�h�zq�B� �8����
    ���*h��xI��C`��@h��O�Q���`/Рi�`!C�a!���4@����1�p�������4IF�i�`/'Рi�-�H�%ԨH�%�hH�%h@�����i!��@�C�a0F������h0	�`h"O�ci�G�0F�����i �!���o���
    �ei(�`h"O�Co��G����wp�p������X���J�jF����@��b�iC�aO�A����j(I�nj.F��h�k�B$��L��p@O�Q��4���j�� �b���i@B�2C�abi�Cba�h"��`F�0����!�����h����d��l��p@����biCba�hA��` �a�h `�i(���$�����bp� ����FF7nF��G���� @)@"�B��B���E�8���@������瀵�������'F�k�k��@G����G�=�k�B���� d�L��@!�������d����Bн�@O�Q��������8�)Q���8G`j�k��h���H�ah�cF���*Ahx`h	x�B��i-�"O�so���G �� ������!�v�k@~	|B� ���k��@h�h*��h(� �a���
    `@��p���*` �a���Ha��c ��2@����1�-��A�F�@����V�k@h@h��G�k���h@h�h)��h)��i)��!�a�h��G�k@h�h��G���
    ��� �a����
    0` ��"��c@�
    ��B��{��s"B`B{��B�Bs"<hb��Fbh*���B��``@�a{��asij�h	��B�@��B�9���!y��a�,
    x��
    pJx��B�Jp� A`A{��AsiF8h��hF��8h���i(�� �a ��R�(�`{��@�`s�
    �c8h0`������L
    B�pG ���9�(��<E��1��p�c��(`���$	h2 �4���� F��f� F��@��J�-��CF
    Fh���D������j�i������^��i�C�aph0����hvh:F#�G%�E=����t{�&k.pбh  �Ih@y�²j�
    �@��B�@��B���h" 0�����i!�aqh�@��#�(�(	�(�"O�S�"O�S�"O�C���h����G��=��F�@��� k���w�0���������6�h���0�B�9})ёx	�h!� �p�����kh����$&h����p0�����hp0���� k(%��E����@�		W� l�� ��q�����"�!l�B(�@@��p�`@��a��� �B$�@���`  d�����
    �x{!B�p�HE�"O�so�q0F�G"��\@F��Y��~P� ��hF�_����� �v �� �}@�u �v ��D�wi/�"O�c!0F�G%�U_�%� �(� �wC�(C� ��  8w �y��������V�c"@F����~x~��B� xv�l������!lbl@�0`d�l���� `d���x{��@�xs x�8{��8s x`/`�O�Q��5F�զj.�ph(ж��hvh" #�G%�U�)F������!�L��'�p�F�(�����L��0�M�ch}��8������ ` ��� ���0|� ��� ��(~@� (v!�L��p@����p�0����7�������FhqMA�`���~��x����#��L��t����x� ��� x���&	�! ����S����_��x����#����U����Y� ���`x��t&	�! �����4�#"��`��������<�c!O��p��
    ���H�v!�wAv�v���w)d0�-��A@NFp}��F�FF����� pu/�g`��G���������})>�!�u����5�	�� a"����	�(h `hh�`(z t�h`a(i��ax!� ����#$"!hF���� ��jF!�8����#$"!hF��G��kF"����p��`� F������J� ��8���?�I�� 1���th��<� F2���8���b��0��\%A���EH�Ui "E�F2�� � -��O�FF�F�F�����U�F��4��6@��(o�Hڨ�@������4�� {I�@�	�@��(��'�p�����`������ !���������
    #���@@��� �w@��xhj(9F�$���i�@����a�HFK���`�H���@D����HF����0FI����Td�L� �p�� pB� �w pw�v�}@�uHF�����jh��� � ��-�&��~ �����F0� 0v�h�����d���l�k�h@���	h���!�0F��!� F��y�� F��u�!����������@  ��@��wpG�L��J�����0F���-��AFFFF�����F8F����@F����
    ��!B	�@F����!�B�� !�yh��l�B�yh1fx`��E@F����O��1�8��b������ܵ��gF��g���03 F����(� O�AܽF F����@"O��C��p
     �@@F�����B�-��C���B`j��F'F�������F
    Ѡj(��j�����	 �w�������|Рj�B�%�(�`j� `b"��@C�w��!�F.��������Y��t�%���c��i��(��8F����'S���B�����S�(� `jh`b�W���G��M���(�� ��h���h�B����7��h��!`�h�`!`���&��,��(���,��'��(�����~���'��`�����c�����  �`H�c���8F����!@��@��whF��ڸF�0���@F��B�8���A�FZH�� h� F���F�H���(с 2� 2��>� 2�@
    FMI�k�B� pG
    �Q`
    FGI�k�B� pG!F��p�BI�k�Bo�ё� x�����FDH��F����(�0p� Fp�� (F���p�FF�����$-I�.
    ���j:��j�&J�~���)��$�� )p�$���� Fp���F��|���h�8�����I�RՋ�B�"����+C��4Ih�@#�
    `	h	�
    Ju��2@���� �c���Ż 	@pi�ǹ}��� -�� 0@	=����1���@�����	g�!Ih�C
    `
    hB��pGI
    h*���a`�i(�� �aHhpGHho�@A�q`!H�`A�0Aa!�`P!Aa!�`O��aAa!�``pG
    Hh
    `�hJ`�h�`@k �x@@�P�`pGpGF"H��^�@@`A@LP!pG �#$"!���pG�� �	#O�r!�����9����#"4!�����C�� �������hpG���@���pG")�(�@��"�(�O�zrFpG������pG������!����GpG-��A���������y(a� �q��pf��pv0{hqph������� �����"��A������"�Q�0�����"��A�T�����h �G�� xxh��Tp{ �,� (p�,�,� ��,����O�zpB�p	h�����T��2��T����,��W���Z�8h@\� �}�
    ������� ��`�`aF����� ��F��H���|b���0[���0۲#��h#�@�C�`f�-��AF��3��F��Ph��� R��� Ҳ*?��P��LE�.xo�0�!h	j8F�G!h�j8F�G!h	k8F�G��( `��$h����p�� ���G	�!h�i8F�G!hIk8F�G(���??(�����hx�??(�����@F���A����F��������h#�@C�`a��� R��� ��@��Ӹ��F����F��|Tp���J)��� 9��@�8x�??(�����xx�??(�����~�8x��Tt�9h�i0F�G9hIj0F�G9h�j0F�G���@�� ���G	�9hIi0F�G9hIk0F�G(�� F���@������ `��h���pG-��O$��O�
    (�F�&d��������(]� �������� �V�T���������` ����(� ��O�
    ������`h ��Q��O� ��K��H� ��E��H� ��?���\c �1h	kO�`�G
     ��4� �1h	kO�`�G��@��Ps��P� `H� 1h�i�G��@ `����$�&s� ���l�XF���F-��-�2jRh!XF�G8h��8` ����Hh0h�k�GT�-�2jRh!XF�G8h@�8` �I`@F1hIi�G ���� �1h�jO�`�G
     ���� �1h�jO�`�G�I ` �I` ���1hIk@F�G(�� ���I `�Hh�Hh��պ�� ������� ��F ���������M����5�0F����0�$(���!�(������n�{M�I���@��"�x�����#�J,!��������F��Q� F�0����8���]�FiH���$���V�F(F��W� F2�8���L�aMF��� ���� ��� F��2@��C�pG��� ����(�(�����"���@ ��aHSIhNL��P(�O�zpA�0	h�����T�����T��@���� �#O�@R!?H��@� pGp�F=N0F���%��0F���F�h B�2i�h! F�GF-�0F����(Fp�AI(�@��p ` pGp�����)N)MF���(�����h� ��� �h�GF ������ �G�!I	h2 �����!�0��{��0��`� F��p@����8�(���)�(���o�LI ���2 	h�����%�0��M�)F�0��U��0��:������ 2��@L `�?P� ��( `( @, 	@@	@"C$"@@@�C	@M���?P`�?�?�?�?�?�?�?�?�?�?��?�?Q?????????h(�  pGhpGhpG8�F
    F��!)`ahi`ah)�
    `%`e`���2@��hL� �pG-��OF�H�Lh�M�� �q�H `����b��F�Hh�'�	�����>�	(�� �E���F�Hh��`����F�Hh��@����	�
    )��!�o�	�B��F�|KB��R�{Jh��'RH�G��G��� ��*ڪy�B]Ш�&���F������#��O�,.��(�O�vF.(�&	�
    Y�&`�����
    
    �����+^D_�{D���K^D
    ��fY�.�	��
    ���#�D�D���C�D
    �
    �j@��"��qrC�2(�� 4#��XC
    �"HC������?(�O��p������CHh��(` )�!���I@����9		@��;IC ` ``����8Hh�������+I�� �B�o��B��F�q���BҌ��+Jhh�� *(�"#R�@���?(�O��p���$Hh�pG�#K�h�@`��@o!�Hh��\h��hh��S3�КB�o�!@`��B�
    X�D�IX�D�`�	@0	@| ����?P�P<Pnb@$"@�P 	@礀4	@(P	@�?P����@�A����
    h*��$h"
    `���� F�8����C��� x�{%C
    ������x)�!�p%����
    � 2� ���� �������h	� 2����#@!`!�a `p2�p������!`H!�`������z)h�)��t#)�hK��!HC
    ��hh��@(�������v�hC�U`{� `s��Hh� E�H`)A`!�`�H�{(:� 9�)	�h(F������P(.� -�),�h����a(h�a(H�@B)H�IB�B�� �hh�N���#O�B0!0F��`��h�r�!0F��Y��i�q�0F��S�  p  s��s@-��A�L�����O�N�H�����xJ*����"3F[3F[3Fcn�I	h	h  �G �`#A�P8aO��r ��p�#O��r!@F��0� 0` D� �a(x(� 0a  �p 8` p`ph�4��x(� �K� � �F��x(� 
     �p �)� !�a!�"�a
    )�!!ip!9`!�`` 8`&�)� 	 �p p`� 0`p` �p�x���A��?�!` dI` ��T� ��=� �p �p���A��ֿ����#`"!@F������XI^H����
    )����
    
    
    h����Ah����Ah����h���Ah����������@9���FHL0! F��y�AN��� h`! F��o���@�` ! F��h��� �a���`(`ц���)i��� *�jh�h�`�a�ija�i(L�o�"�@B�p�ih�`(�ji*�0(� �0(�� IH�!�`�(�ji*�8(�� !	�8(�� I@)��?!�`!ia(a#�h���O�B0!�<� �#O�2�4�(i�$��/�hi�%��+���@-	 `�@,P@L @@�?P 	@<`@�@@@4`@����#O��pG���
    #O�@b !pG! F��ھ�������� �#,"!��_�pG �#<"!��1�pG����)����������������������@���8����������H��	!a�`F�%#�[
    �B�Ӌ�"#�,�"�O��r@�9����0`` ���`�h``1���$%��1������<(��`.��Wh�h:�Ղ�B%�+�#�9�D#����B�'FF�����*���SF�A9�A�A	�B��%<FD:�*��'�'�����8F��F��z����`4�,��$�,"Kh�B8�J`��@s�8�F��e�!#���'KC��lJ��B���d��H2�I)����\� 2�p�F��K�F "��hBC��lI� 0e�d"����d��D��B� F��>��Hp�@(�� F��5� p�8�F��$�%�� "jC�ZДB���#��2�m-������ 2��F ������(�k�"���PCD�h�o�� F��@GF�<pG� !���&$��D@(�de�� #��@S(�� ���`�`��@��p�������FhF���� �"@�0�iF��l���h���h���������F(F��f����0F���� F�����p��������V�o��������!'��6OC;D�?��]`�h�`!sih!a��B�����0F�I)�����8�����.����y�!#���%KCD�K�O��s�U`#�`!qih�`�I)���n���F`h0��������ah�!`�!�r0�` ���@h8�����F`h�������`�� �o����@h���� �8�F
    F��/�!E�!h�%`�FQ�,*��A�\��2@(�-��AFo��h���y(�� y(�����y���'yCADIh����0F���� y(q�yhq z�q�y�hxC@D@h0�����yxC@D@h@h��� ���p��$���z��o�p������h%A�
    F��
    h�`"
    `�"�r����(�`� p���y!q@y�q p�F���(
    �#��P$XCZ�O��r�B�O��0pG� pG�y���F���{��(��q F��@|�O��0�>�F����� yiF����x� �� ������h�h���Go�>�����(F>�����#hFO�zq��#����#�BO�BؐB�o�� ` �8���������F��r�(�(��o�2�`h@���hh���@�A�2���O��0��iF����(��2���@h��c� ��<����@h���� ���@h���� ���������P� �����E����� ����FhF���� ���������FhF�����h����� ���#�h`hjF��P��F��)�`` �F�hIhG�F���h�Ml� ���o��#$"!���V� ����#yh�H���S� `h� �� ��hF�h�G F��=�0F��h``8i�`�`
    �(h�GF h����8i�`0Fih�Gyh h���� h���� ���F��`hiF��� ��`` F�������@h�o��h���� �~I	hA` pGP�FzHho�F��#O�zr����#�BO�BؐB�0F`` P�-��A��F��������F �%��u�(�(��o�c�ph ���O��0��iF����T���}��'����`h���x����L�ѝ����o���������h�G@��������s�0a��������'m��(����H������B������V�1F�FQ�,*�ѢhA�,�`���-�`h�� �m��8F��������'�F���(�(o������!$J#KC�ZO�D[hh�B�!q�I)������0F����� ���F����(�(�o����	�F����!J#KC�Z7Ч��B��Ih	h�B�!!�`��I)������O��0�� X@ ` � 0` -�L �G�p�F< ����o����r� z�a"`�(b)F�h(a`h����F(F�����0Fp� p�A�-)�o�pG�R�!G���3����[���������M�����_���������������9�������?	M�G�O��������E	]	�S	k	
    ����� ����-��N���y�F&@�;F�x{y��������@�{A2�m8�m=ЭA�m�z�m�}�m��m�m�m�m�m���m�m�m�m�Àm�ˀ�-���,@�݀"QF���,i�"QF�z�,b����b��,\�+4К�8q���(��*�*���(��*�*��,DѼ�К�xqS�(�*�**�HF�����(��*�**�*� �G���&��,!Ѻ����� ,��������q3F"F!� ,z��������q3F"F!HF��v�,jњ�(f�8rq�,bњ�(^�xri�,Z�O�p"QF8D����_�,Pњ�(LڸrW�,Hњ�(D��rO�,@њ�(<�8tG��M�7т�B4�x�?��E�/т�B,Ҹ�7��=�'Ѱ��$���/��5�Ѡ�
    @�wB�B�8�$�,���(�����P���p���\����&�&
    �((�,Ѻ��:�F�&0F���!0F������,pG"FQF0F��x�8�$O�@s
    F���,6�R6�R7�R8�R9�R:�R<�R<�R=�R>�R>�R>�R@�R@�R@В@�R@�R@�R@�R@�R@�RF�RF�RFВH�R�RB�RD�F��xB�"�10�"�1-��j(`B�"�1'�y4�Hy2�ȋ6�y�1��y�1�z(�Hz&�"O�p�z ��z��"�| �H����Ȋ���"O�pD(F�����H����Ȍ
    �{�x�H{(p�((���(��$ F2����F�x��� c�,�����x`x"�	� � �����x)�)��@x"�#� pG���#<"!hF�������P�#O��q�jF!�����:���p����� ������E	h�U��&hF�G��`p��b �pO��p ��o� p# �" �)F�8�� �/��\�� �(���� �p� !#%+��:K��b r`r�r �r! ��=*F! ���,! ����# �")FpG���������T���D���
     ��O��0�hF!h�G(K���	 ��hF!h�G���(>ѽ�(�hx�B-�0�O��q�B	�p�@%��,! ����0x�(��(�0F�|��py(�0�(��{(�8F�J���$�� ��F8F�$�F��^� ���hF!h�G���0�O��q@��)yhyC(�� ��
    �(z��"hz��O�p)
    ������z��iF�z��	hx�4�(� �p(k(�h� �G����O��q@��� �t���A
    �O��q@���{(�(�����W��+�ꊩ�h���O� ��pG���M�xO�sF��xhy��*<�*�*\�*��*�*�̀*��*����`x��! �$��! ��"�����O� �p���yhx!���� �p(k �h��x�G��bx��xB��yhx��!��`p�)�)�)�(
    ��)��8�l�� �:�`x(����cx�+y*�)� ��+�  ���
    �C
    ��8�8��+� (q hq�x(�  ���`x&�"!0F����`�(� �p�h� ���`���x(s(|(�(	� ��O�zqAC�\��b��x#!�
    ���1(�� (q }砈��!��8� h���脠yhs�\��8F��O��p(�hy� c�y(�  �p ��Z�8F���`x(��h� ���`���\���(�kk+�ꌩ�h�h�G����!� �������(|(� ��
    A� ��
    �\���(|(�(�h�ሁB(�F���� ��B8�F���`��B8�F��)����B�F�(�(
    �h�������芭�(�	���� ���`�������hF������F(Mz�Fh��B$����BӨ����B��9��B� ���F(���x�����������8���hF�[�Ѭs1F��5��'8F��>�L�x-� >������� ��0�\�:��iF����>�I��C���j��=�� | T ���!���!��� ������!���!�����hF��t	hG�����$��`�� ���@��@hF	h�G��0���F"��� "��4	h��� FhF�G���!����)p��`�0���� �� ������� �������� ������� ����	h��hFGP��� pG�� pG pG�#pB��#A�|A�p��pG�#p��#�p�qpG>�F ��
    F  �� ��p	h��hF�G ���o�>��#"!FO��0����>����F�x*ъ���45���X��iF F����(��Dx��D� F������F"!K�8�FF�������iF(F�������Ex(���y�B���h�"F��������(F2�����2����|���
    �2F)F�����G�8r��L�;F����@_��"!��8����"!J�1�-��A�]��"��<r�`>������*�9F���A��X$��%�8��+��"��,�+�1�!P�"!��-��A�6��"���`���s������9F���A��$^� ���!2�"!��F
     ��!*���)��`����+F���0@"!������
    �"�����=�9F���@���#5� �"!?�����I�#�#�M��x�(�P�@�a�Bѐ��B��y��B� pG pG���$��������#��x�(�P�@�a�Bѐ�(�(ѐy�((� pG pG���O��2F)F�����`����9F���@��#�� �T -��A�$�
    ��AF����<�}������m�h�F
    F �BF!��p����~���Y�!�F2F)F F�#�v�F
    FF�F ����-��A�F
    FFF �����"�i��g� rer�r�`� a�`a��/�!F���A�2��*��
    3"!I��	3"��������
    "�E��
    �8r}�>s���9F���@��"k� �!FP �����#"7�-��A�F
    FFF �����"� ��� rer�r�`����!F���A�"��E����#"!��#"��F
    FF�F ����!���p���f��0"�����	�1F��p@�]"�� � p�4�u�����0���F ����
    �1"����,�������#�)")F��"���>�
     ��J���v�
    �"��z��������������#pG��a�
    �"��e���{������������!F���p����"��O��	�1F��p@����� p�4��`��X�F
    F �������
    �6"��y�<�}���9F���@����� �F
    FF ���F ���F
    FF ��޼-��A��Q�������<�>t�`�N�xt���9F���A�i��x����8�FJh*��FF!F �G2� 2�
    Jh�
    FF GpG\
     	���e�t x -��A�
    ��F �������<��r�����F
    FFpG-��A��������`�`����Ͻ2F!����-��A��t����������8r�`������x�(�P�@�a�Bѐ�O��q@��~O���B� pG pG#��#��#��
    #��#��#��#��#��0#��1#�瀵#�#�������#����#��6#��x�(�P�@�a�B
    ѐ�O��q@O��R�B���B� pG pGp�����#����0�2F)F F��p@#�� p���#�瀵#�#�瀵#�#���
    B�/
    �B�/G�F
    FF ���p�F
    F��Ё 0p�� �p��)�*F1F��p@���� p� �� ��˻-��A��:��F ����	��
    �=�~������	������� 8p �p��pG=��`����BF9F���A��W�x�(�P�@�a�B����B� pG pG8�FF���!�²+F!FO�@����2�<�}���AFP ��ܻO�C��������
    �"�"�<r}r�#�9F���@�y��� �����t�
    �"�
    �<r}r��9F���@�Q��� �!��λ<��r�`����x�(�P�@�a�B
    ѐ�O��q@O��b�B���B� pG pG#��#�����!���!��hFCI	h�G�𵉰F
    FFF#$"!hF�����<I	h�kFO�zp������������)F F���� F	����5�8�F
    F��J�� F��6����� F��<� F��2@�� �����7�� �����!� I	hO�zp����pG�F!���� F�p���F ��
    F �� I	h�FhF�GX��I��` F��M��(F���� �0F��� �p��F��+��BЄh��s� F� �T �����
    �!����!��� ���!���pG�������!�����hF��t	hG���#<"!hF������`�P�#O�!q�jF!������������ �� ��,��0D	h��hF�G�� p��`�<��l��`# �A�2 ����1��� ``! ���� ��
    � ��
    ! �� ���� ��O�zp��@�0��#�
    �
    !@�0����T!O�Bp����t!@�0���jF!O�Dp����!@�0���
    �!@�0�����!@�0����
    �!O�Ep�����|! ��S��! ��O��! ��K��! ��G��!	 ��C� �� ����! �� ��O�`����
    �!O�`����
    �!@�@����
    �!@�@����jF!@�@����O��0���O��0�����X��}�����H���� a�;����c������ x��|� x������v��-��N������O��z�M��T� ��
     ��O��0�hF���G(@� ��	 ��
    ����G�� �(hѽ�$(�)x�B5�8�PEѸx/�hih�ixIip�y@�����(�(�F�hi)x@�"����XF���8x�(�xx(
    �x�"��{�(� ��oa$�9y���O�O�D�8F��k�$��O�Ap��S�����jFpx��!�x�� ����py��0y���x�� �� F��[��h��R�h��h��,��� �(�Ѡx(��(�(�(	��� �@������������������PD�������(��iF@�0�����h�A�O��q@h�������(��h`��f� F���(i���(�+�(i���F z(���h`������%LbiZ� �y�����`i���� `a`p��F ����P�!��pFK�h�h��@�������F
    FF" �������`<r}�"1FL��� i9F�����h���@��v��IJ�CH��h��n�T �  �#}H"!��h�-��C$(��F�FxO����$0<HS}.v�2FIF�v�.w�!����2FIF�j�.k�!�(���2FIF�(^�._�!�@���2FIF�@R�.S�!�X����2FIF�XF�.G�!�p����2FIF�p:�.;ڈ7!8F����2FIF8F/� �� ��
    ����$����Gȹ���xh��B
    �!���!��hF���G2FIF(F��x�}`>p
    �$�.�2FIF���k��$�$ F����-��I�FJh
    �xRx�� F&��B�#"'K���@(ـ�&8)�:�	,(����B(���=��)����XF�[����B��B��=���xF�B
    ��B��
    =�Xh:�
    �,�&����B(���=��:�@F����>�
    &0F���� d T ���!���!��� ������!���!�����hF�I	hG8��L�M�-�h`���)��`�hh��#�ih�`8�F�����h���� 2�O��t F���h F����h F�������0@�,3"!��� x���h�I�`pGp��FFF� p�`h��!"�Z�0� 0��hx(p p� 0� p�-��O�F��xLh'(�F�F� xbx� ��B��B.� �JF��@F���F%�M�`+�h"YF F�'�0�ֱ���JFAF 
    �"� F��(�f�JFAF �G�"�  F���
    '8F�������MF(xF(�''0F�Z�hF�-�>D�x�x� � h���iF0F�'��0F�F��������%��0F�j�v���B��! F�=���! F�`���iF F����8�FxJx`M� ��h��� �Bѽ���#���-�h���A���Bi���C���� h�1� h���� F��4@!+� F��4@��|�GN
    F�hF�]���#"�B����r�A�"@��� ���p(
    �Hp����(�s�iF F��ƿ|�3N
    F�hF�5���p�#"��������"@���iF ���p�������s�!hF����! F���!��Ӹ|�N
    FqhF���(�#"������2F����@����" ��(�p�(�
    Hp�h��p�h�
    �p)���K�"����������;�s�T � � � �@Q����@Q����@Q����@Q���m����dH"!��x� pG�F��x$)�@h�4"���`�!�#jF	 �9�HhA�A`�$ F�� 	@�@Q�������������h��1�C�?�P�/��������pG8�O��t�B
    � <Jx�B�!� @�#@�p�����W���!�p1�0�$�d���BҤ���h�B��F0� 0���F�
    F&�+�xQx�'��C��B��hh F�����B��hh�� F��F�&�
    &�&0F򽀵����x�p�F
    FF�
    �@�)FO��p��� p���p p��"�RL$xӲ�B�Ҳ1�"0�B���� ��  �	�R"���˰���pG"�S�Q��`E��
    ��������8�o��� pGR"���˰���R�FpG pGpG��"I���� �>�xEx�$��@#�x�x� ������x�����Bв��o��#F>�pG pG(� J HhRh!GpG8�L F��q�F��P�JhRh! F�G F��e�(���2�-��AF
    FFF�����F:F�10F�!�@F���A��8�F����F ��(F��2@��HhA�A`pG�@@	@��I	hIi��Kh�i�G�GJ!`���`Bp�����F&���R
    �$�����@h �h�1F�Gv(h���B��p����h���`��������
    �D��� E���E��A�!�
    h��\r>@���C2C@��&���/�������/�+���#���/�/�#�#c�B
    `A��B�
    �2�p��������,L�F$�C"C
    `���@��λ�)H�!��@� �?h�	A�`pG����h���;�(���-�(�d F�-��O��F������*�&(����(�&��|�h��Q)O�
    �h
    ��C��d��D�x��`q����_������"YF8F����O�$�
    ��|T@�dU�$���)	��)��YE�&����� p�	 �������P#$"!�������t��!	������$����PF��(�O��1���u� ��d���B�&���	�H� ��(���G�8]U� ��@��A��#0"!��������P��� (x�� �!	�����#("!�����hh��t�# ��	�������`h!�|QA�Q` ��T`��P` !����I
    h#�@pG� � @� `$ DP�?P� t �gX��0	@@	@	@� @��(�(�(�(
    �� Fh�G � �� �� ����&���F��������� (������@�������F���E����� (������@��N�������!�@L@(pG8�F hq=L(y������F x�(�(F����o�2�@ p��(�`h����(F�����!x
    �����o�2�I!pɲ9�����`h���� hq����� 2�p�F`h�O�o�p�����NF0x(�ph����`h����`hp`(F���� p���@h�O�
    ���{� ���@h�O������ �o���F���h`h` ��2���o���hJ!���� �X ��F���� q ������� ��F���`` ��F`h�����` �������6I
    x"�5Khp"
    p����@��Թ8�����F.M(F�d�������(F2�p�FF������'Hh	x	��S�&�O�q"F�0F�'�X��O��0 p ��l�(F���� p��hqh0h�B�I `Hh��� I	hIh�GF�  p(F����0Fp�O��1��h�@:��_
    �Bh"����r	K�BҀh(8�!FpG� x�PB�@���h
    x*�"
    p@hh����pG�
    Kh$�d`		���pbD�DB�A��`CX`��@����	�iF�i����������G��� h�`]��������pG�����	�iF�� ���	��FJ`O�p�a����a���0h`@�`pG�����)�"�������P��G��(�!������@��G��,O�Q`����������	�iF� ���	��FpG���9�A��	 +����	�hF�F-��hFqF����{�0�pG8���	�����F�(A�`!���c�F! ���� I	h��B҂ ����L)���X����=� ������@�� �HM�hLZ�IIA�`HhA�`  !h�i�G(h h�k�G (`(h�����������1@��H��L �!@, 	@�$"@�������K�N�R�X%a1BNZ$�0��
    ���
    	��
    �O�Q��
    �
    ����
    �
    �
    �
    ��)�s���}	�	�	8��MLM�9�H��d�#hh"!(F�G"hRh!(F�G��{�������u��������� 2��@@,(�(���(� ����(��� ����(���pGI`pG` �� ����(���pGpG�hDh�hD�T�H�KD�B��0pG�[���K�,	,��K4��{�{v��,��k�-��[�%mB�D���k�kd��������
     � ���@���	@�@�
    @�������� t�@Q����Img IdentifyImg BlockImg CountImg Status�P��D���Y#*A�;��_�|F�O������D�!pP�+*��pG<H0x�����,���������(�������ݣ�M�Q��
    �IyD1L|D4�
    hD�GF�B������8������i�%�\���џ��&$�$�!���p
     ����X� �  P0$� �H� $� �,���� (l$����4 �����< �$����D 8�(����� T<�4   ,H(���Q�pGH(����pG]�y���ї=�����
    #*$*%*&*'*(*)***P*p��(��������� ��7����� pG����@Q���������������]������D�X@���FA�
    0���G��(())Y�w�Ӝ�\2�$
     ��43���< Ѧ <TE�G�� ���Cŧ
    c��� ŧaa8@5-@@�`]����~���#5c8�`E�8�R`��ch��
    [` z�
    Model Number��SeriaPFirmware Revision�Hard�SoftPManufacturer Name�exp|mental*
    4LXC�RP ^
     CrCla R_ Rt �t R` Rv Ҍ Ra Rx Ҥ Rb Rz Ҽ Rc R| �� Rd R~ �� Re R� � Rf R�  �30��$K` ��` x2,���ǘ�g��@@C��X WS�RT0��@RP@ґ@Ҙ@Ұ@Rh@R`@Ғ0Ҽ0Ri0CpғpҜ@G�0���Reset�dRjdR�ÆTO��Ara0��c0up����
    	SimpleBLEPg$pheral
    �@��& '� ( �3��W��!a4]��0��!$y�!�HXA
    �!CRC�	!(�6@ǒ
    4$!R<RDRL�M�5� �C�|!R�R�R�R�R�R�R���bd�Cp�ɒ�,RRRR R(!xC4�p
    ���̄e8�	�k���+�$`l��lmv��^EtZ�#��`Cd{X@;" x��K1!@)x�!R��|D!�(�pR08h!R@�``�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

  • That sounds good! Definitely progress

    Could you attach a sniffer log? So we can see why the OAD failed?

    Regards,
    Rebel
  • This might sound dumb but where do I find a sniffer log?
  • No worries Mario,

    Any BLE Over the Air sniffer will work. A quick google www.google.com/search
    will show you some companies that sell them.

    It's absolutely necessary for doing BLE development. We have many customers that use frontline ble sniffers, and others that use ellisys, just to name a few brands.

    There's also a TI sniffer, if you want to try that as well. It relies on the cc2540 usb dongle.

    Basically, you'll be able to see what BLE Packets are being sent between devices, which would be useful to see what's causing the OAD profile to cancel. You could also try setting breakpoints at all the failure states and see which one gets triggered.

    Regards,
    Rebel
  • Hi Rebel,

    I got the sniffer. I'll attach a screenshot of BLE packets. It looks like the first 16 bytes were transferred only. I don't know what "master connection parameter request" was for. I'm assuming the something went wrong for master to ask for that.

    What are your thoughts?

    Thanks,

    Mario

  • Hi Mario,

    Actually, the whole connection parameter request thing/update thing is fine. That's probably because your device didn't support the feature.

    More importantly, looks like your image was rejected - take a look at http://software-dl.ti.com/lprf/simplelink_cc2640r2_sdk/1.00.00.22/exports/docs/blestack/html/oad/oad.html#oad-image-identify-0xffc1

    And compare that to your log.

    Looks like BTool initiates correctly - it does a ATT_WRITE, as shown in the guide.

    However, when your device gets it, it doesn't like the image and rejects the image, sending back a Notification Packet with the resident image information. Set some breakpoints in the OAD profile and try to debug this - and find out why the image is being rejected.

    Hope this Helps,

    Rebel

  • Hi Rebel,

    yes the image is rejected. I had debugger running on my A image while I was trying to do an OAD update. It looks  like it fails the image header version test.

    (OAD_IMG_ID(ImgHdr->ver) != OAD_IMG_ID(rxHdr.ver)

    Let me start first by asking what I should enter as "imgVer" when I run oad_image_tool ?

    What is the different between --imgVer 0 and --imgVer 1?

    oad_image_tool simple_peripheral_cc2650lp_app.hex -t onchip -i app --imgVer 0 --usrId BBBB -ob app_oad.bin -t onchip -m 0x9000 -r :0x13000

  • Another thing I forgot to mention is that during "image identify" process I noticed the contents of the current Image header are all '0xFF'. 

    Is this normal?

    So when I get to this line of code : (OAD_IMG_ID(ImgHdr->ver) != OAD_IMG_ID(rxHdr.ver))   I am seeing:

    ImgHdr->ver = 0xFFFF.

    So for me to pass that point I'd need to have my metadata imgVer be a number that doesn't have LSB=1, or else the image will get rejected.

    Thanks,

    Mario

  • Here's some more info....

    when I want to create metadata vector with different image versions it seems like I can't generate every version I want. Every image version has to end with LSB=1 and the oad image tool automaticall converts it to a number that has LSB=1.

    For example lets say I want imgVer = 2 ( LSB in this instance would be 0).
    The command is below:

    oad_image_tool simple_peripheral_cc2650lp_app.hex -t onchip -i app --imgVer 2 --usrId BBBB -ob app_oad.bin -t onchip -m 0x9000 -r :0x13000


    After I run it the oad image tool automatically converts imgVer to 3.
    The image version check code

    OAD_IMG_ID(ImgHdr->ver) != OAD_IMG_ID(rxHdr.ver)

    always results in FALSE since OAD_IMG_ID(ImgHdr->ver) is always 0x01 due to the fact that ImgHdr->ver = 0xff by default (my previous post mentions this).

    So that's why my image gets rejected all the time.

    So I have 2 questions:
    1. Why does tool change LSB for image versions?
    2. Why is default (OAD target image) image header all 0xff ?


    Thanks,
    Mario

  • Hi Mario,

    1. I'll copy and paste what's in the code as comments:

    /* Requirements to begin OAD:
    * 1) LSB of image version cannot be the same, this would imply a code overlap
    * between currently running image and new image.
    * 2) Total blocks of new image must not exceed maximum blocks supported, else
    * the new image cannot fit.
    * 3) Block total must be greater than 0.
    * 4) Optional: Add additional criteria for initiating OAD here.
    */

    Basically just to ensure that the image being sent is a incremented image.

    Regarding the tool, I'll let the tool team know about this, thanks! I don't know if this is intentional.

    2. To automatically accept the incoming image for Offchip transfer - see OADTarget_validateNewImage. Not that interesting for default onchip configuration. It's ultimately up the user to implement additional checks or modify existing checks

    Remember you can a ton of information in the software-dl.ti.com/.../oad.html section regarding meta data vectors/
  • Hi Rebel,

    I changed the code and i got passed image header version. Now I get another problem. When first block of the image is being asked my BLE connection gets disconnected. I found out that this function doesn't return:


    void *GATT_bm_alloc(uint16 connHandle, uint8 opcode, uint16 size, uint16 *pSizeAlloc)
    {
    if (pfnBMAlloc != NULL)
    {
    return (*pfnBMAlloc)(BM_MSG_GATT, size, connHandle, opcode, pSizeAlloc);
    }

    return ((void *)NULL);
    }


    Any ideas why?

    Thanks,
    Mario
  • I figured out why. The flash erase function was erasing part of BLE stack.
  • Yikes, was it because the image was too large?
  • It was my image header, I put the range 0x9000-0x13000 and I didn't know the code would include page 13 so it wiped out the BLE stack.
    I fixed the range and now the image is downloaded and executes a reset but never comes back from it.
    If I am understanding correctly when it boots it should go into BIM and BIM will determine which image to run. If that's correct then it's either not running BIM or the image.
  • It looks like BIM is running and the CRC is verified but new image never gets run for some reason.
    When I tried to step through the code it looks like the stack pointer goes out of range. That's very strange.

    Thanks,
    Mario
  • IAR is also telling me that it's missing IAR.mac file when I try to debug BIM.
    Do I need IAR.mac?

    Thanks,
    Mario
  • Ah, I thought it was auto setting image size in the tool.

    It's possible that the entry point isn't correct and it's trying to jump to the wrong value, make sure that the correct address gets loaded prior to the branch into the new image.

    And regarding IAR.mac - I have no idea what this is! If you're able to debug with no issue, I'd probably ignore this error or attempt to reinstall IAR if this issue causes problems. (Or maybe ask on IAR forums)

    Regards,
    Rebel
  • Hi Rebel,

    I looks like Image A is not running either, after it goes through BIM. When I step through the code the address is jumps to is in the middle of instruction.

    Here's the code for jumping into Image A:

    // Load address of label __iar_program_start from the fixed location
    // of the image's reset vector,
    asm(" MOV R0, #0x0610 ");
    asm(" LDR R1, [R0, #0x4] "); //loads R1 with 0x7D59

    // Reset the stack pointer,
    asm(" LDR SP, [R0, #0x0] ");

    // And jump.
    asm(" BX R1 "); // jump to 0x7D59


    -The address 0x0610 is the vector table address, and as you can see we load the address that's located at 4 byte offset and the value in that location is 0x7D59.
    First, that address is an odd number, which is weird, so we actually jump to 0x7D58.
    Second, it's in the middle of another instruction.
    Basically after jumping to this address processor gets lost.

    Is there a way to know how this address (0x7D59) was determined as the jump point? Or better yet where am I suppose to jump to to run Image A?
    And it looks like I have the same problem with Image B, because the code is identical.

    Thanks,
    Mario
  • Hi Rebel,

    How does BTool know whether the image was downloaded successfully? I always get "OAD Download Not Successful" message, which is accurate since I am not seeing Image B running. But I also am not seeing Image A running either so my guess is that Image B starts to run but something gets broken.

    Thanks,
    Mario
  • A OAD Success happens when the OAD image has been transferred over to the target device, and the target device has performed a CRC check to ensure it wasn't corrupted. This is the only scenario you'll get a OAD success, at which point the ImgA will invalidate itself and hand over control to ImgB via BIM.

    Btool just reports what it sees, if it sees a OAD Download Not Successful, then ImgB will never run because the target device determined it to be an invalid image during CRC - or another issue preventing OAD from occurring successfully.

    Check a sniffer capture to see what's causing it to be not successful - or the BTool logs might show a reason. (OAD is not a simple thing! Keep at it)

    Regards,

    Rebel

  • The CRC and CRC shadow are identical so I don't think it's that. When I was stepping through BIM it passed the CRC check and then went on to jump to Image B so BIM thinks the image is good.

    I looked at the BLE sniffer and after I transfer all block nothing happens. The status characteristic never gets anything from device. It actually makes sense that it doesn't because the code on OAD Target transfers all blocks and then resets the device. So BLE connection is lost and nothing gets reported. I think BTool has a bug, or OAD target has a bug where it's suppose to wait for BTool to continue.

    in either case the Image B gets downloaded and CRC is correct, but BIM doesn't seem to jump to correct place to start executing it.
    I'd like to know what is the address I'm suppose to jump to? It's currently reading address from 0x9014, and jumping to the address from that location. How did we come up with that address? I think that's where the problem lies.

    Thanks,
    Mario
  • Hi Mario,

    Can you attach the sniffer capture?

    As noted in the http://software-dl.ti.com/lprf/simplelink_cc2640r2_sdk/1.30.00.25/exports/docs/blestack/ble_sw_dev_guide/html/oad/oad.html#oad-process

    If image_status isn't success - as Btool is reporting, AND it shows up on the sniffer, there's another issue here.

    How is it reading 0x9014? Can you paste the code here?

    The code should jump to the reset vector of your IMGB if it's valid

    Regards,

    Rebel

  • Hi Rebel,

    here's the sniffer capture. You see the last byte is being sent and nothing happens after that and the reason is because slave gets reset.

    Here's the part of the code that executes system reset:

    // Check if the OAD Image is complete.
    if (oadBlkNum == oadBlkTot)
    {
      #if FEATURE_OAD_ONCHIP
    // Handle CRC verification in BIM.
    OADTarget_systemReset();
    #else // !FEATURE_OAD_ONCHIP

    So as soon as the last block is transferred BTOOL loses connection. 

    Here's the code for jumping into IMG B:

    if ((crc[0] != 0xFFFF) && (crc[0] != 0x0000))
    {
       if (crc[0] == crc[1] || crcCheck(BIM_IMG_B_PAGE, BIM_IMG_B_OSET, crc) )
       {
         // Load address of label __iar_program_start from the fixed location
         // of the image's reset vector,
         asm(" MOV R0, #0x9010 ");
         asm(" LDR R1, [R0, #0x4] ");

         // Reset the stack pointer,
         asm(" LDR SP, [R0, #0x0] ");

         // And jump.
         asm(" BX R1 ");

         OADTarget_systemReset(); // Should not get here.
        }
    }

    Thanks,

    Mario

  • Hi Mario,

    That's very odd, stick a breakpoint at OAD_sendStatus(connHandle, OAD_SUCCESS); @ oad.c and see what happens.

    You should at least see the notification over the air.

    Regarding the 0x9014 being the address to jump to: see the technical reference manual for a interrupt table should look like:
    4.1.4 Vector Table specifically. You'll see that it's offset by 4 for the reset vector, the first 4 bytes are for the initial value of the stack pointer.

    Regards,
    Rebel
  • I put a breakpoint at OAD_sendStatus(connHandle, OAD_SUCCESS) and it doesn't get executed. Once systemReset() is executed I lose debugger.

    I'll check technical reference manual about Vector Tables.

    Thanks,
    Mario
  • Hi Rebel,

    I looked at the technical ref manual and 0x9014 now makes sense. So now the question is why doesn't it run the image after it jumps to that address?

    Here's the debug screenshot after it jumps to the reset vector. The reset vector address is 0x1132D and it jumped to 0x1132C.

  • Hi Mario,

    I don't think I have a good understanding of what you're trying to do.

    How are you implementing the OAD? Is it from IMG_B to IMG_B? Or IMG_A(OAD_TARGET_APP) to IMG_B?

    Note the suggestion I had earlier was for whichever firmware you're running as the target during the OAD transaction. Not BIM - BIM will never run the OAD code.

    Either way, you have a real problem if you're not reaching OAD_sendStatus(connHandle, OAD_SUCCESS); in oad.c after the transfer. This is what ultimately calls the reset.

    You mentioned earlier that you were seeing an issue regarding BTool saying OAD failed, is this still the case?

  • Hi Rebel,

    I'm implementing IMG_A(OAD_TARGET_APP) to IMG_B.

    If I'm understanding it correctly BIM will determine whether IMG_A or IMG_B will be running after the reset. Is that correct?

    I'm not sure how OAD_sendStatus(connHandle, OAD_SUCCESS) can execute if systemReset() is before it.
    Here's the code again. It just doesn't seem possible.


    // Check if the OAD Image is complete.
    if (oadBlkNum == oadBlkTot)
    {
    #if FEATURE_OAD_ONCHIP
    // Handle CRC verification in BIM.
    OADTarget_systemReset(); <-------- reset
    #else // !FEATURE_OAD_ONCHIP
    // Run CRC check on new image.
    if (checkDL())
    {
    // Indicate a successful download and CRC just before rebooting
    OAD_sendStatus(connHandle, OAD_SUCCESS); <------------------------ it will never reach this point

    // Store the flag of the downloaded image.
    flagRecord |= getImageFlag();

    // Store the image information.
    saveImageInfo();
    ............



    Yes BTool still says "OAD Download Not Successful".

    Thanks,

    Mario

  • OAD_sendStatus(connHandle, OAD_SUCCESS); sends the notification to indicate a success. Perhaps add this code in prior to the reset.

    (*oadTargetWriteCB)(OAD_IMAGE_COMPLETE, connHandle, NULL); ultimately resets the app.

    And you're correct BIM determines which program runs after the reset.

    So the current problem is that the reset vector of IMG_B is incorrect? 0x9014 isn't pointing to right spot?

    I was using the newer code as reference (Below)

    /*********************************************************************
     * @fn      OAD_imgBlockWrite
     *
     * @brief   Process the Image Block Write.
     *
     * @param   connHandle - connection message was received on
     * @param   pValue - pointer to data to be written
     *
     * @return  none
     */
    void OAD_imgBlockWrite(uint16_t connHandle, uint8_t *pValue)
    {
      // N.B. This must be left volatile.
      volatile uint16_t blkNum = BUILD_UINT16(pValue[0], pValue[1]);
    
      // Check that this is the expected block number.
      if (oadBlkNum == blkNum)
      {
        // Write a 16 byte block to Flash.
        OADTarget_writeFlash(imagePage, (blkNum * OAD_BLOCK_SIZE), pValue+2,
                             OAD_BLOCK_SIZE);
    
        // Increment received block count.
        oadBlkNum++;
      }
      else
      {
        // Overflow, abort OAD
        oadBlkNum = 0;
    #ifndef FEATURE_OAD_ONCHIP
        flagRecord = 0;
    #endif
        // Close the target device
        OADTarget_close();
    
        // Send status
        OAD_sendStatus(connHandle, OAD_BUFFER_OFL);
    
        return;
      }
    
      // Check if the OAD Image is complete.
      if (oadBlkNum == oadBlkTot)
      {
    #if FEATURE_OAD_ONCHIP
        // Indicate a successful download
        OAD_sendStatus(connHandle, OAD_SUCCESS);
    
        // Notify the application, application handles restart
        if (oadTargetWriteCB != NULL)
        {
          (*oadTargetWriteCB)(OAD_IMAGE_COMPLETE, connHandle, NULL);
        }
    #else // !FEATURE_OAD_ONCHIP
        // Run CRC check on new image.
        if (checkDL())
        {
          // Indicate a successful download and CRC just before rebooting
          OAD_sendStatus(connHandle, OAD_SUCCESS);
    
          // Store the flag of the downloaded image.
          flagRecord |= getImageFlag();
    
          // Store the image information.
          saveImageInfo();
    
          // Check if all expected images have been downloaded.
          if (CheckImageDownloadCount())
          {
            // If one image is a network processor image, inform the application now
            // so that it can take action on that image.
            // Note: this callback is not being sent from the context of an
            // interrupt. It is ok to take any action here.
            if (flagRecord & OAD_IMG_NP_FLAG)
            {
              (*oadTargetWriteCB)(OAD_IMAGE_COMPLETE, connHandle, NULL);
            }
    
            // If one image is an application or stack image, perform the reset
            // here.
            if (flagRecord & (OAD_IMG_APP_FLAG|OAD_IMG_STACK_FLAG))
            {
              OADTarget_systemReset();
            }
    
            flagRecord = 0;
          }
        }
        else
        {
          // CRC error
          OAD_sendStatus(connHandle, OAD_CRC_ERR);
        }
        flagRecord = 0;
    #endif //FEATURE_OAD_ONCHIP
    
        OADTarget_close();
        oadBlkNum = 0;
      }
      else
      {
        // Request the next OAD Image block.
        OAD_getNextBlockReq(connHandle, oadBlkNum);
      }
    }
    
    

  • Referencing back to the original post, I am having similar/same problem.

    I am following the CC2640 BLE OAD UG example for On-Chip OAD. When I select simple_peripheral_cc2650lp_app.hex (built with IAR) as the OAD flash image, the BLE Device Monitor is giving the error cited in the original post "Firmware revision: not known" "A valid OAD header was no found in the image. Using generated header".

    Mario seems -way- more competent in debug skills, than me. I can't go through all that right now.
    Is there any insight to fixing the example project?

    Thanks,
    Wayne
  • The error message is perhaps ambiguous, since it suggests using the generated header. But, if I "Start" the download, nothing happens. It simply stalls at 0% complete.
  • I added OAD_sendStatus(connHandle, OAD_SUCCESS); prior to reset and while it worked the reset occured before BTool was ready. If I put a breakpoint on reset call then BTool would have enough time to process "OAD_SUCCESS" and If I continued with reset BTool reported successful transfer. So at the moment I'm trying to add the code to accept BTool reset command, because I think that's how it's suppose to work.

    To answer your question, yes after the reset vector of IMG_B is incorrect, it's pointing to the wrong spot. That's still an issue right now.

    Thanks,
    Mario
  • Wayne,

    I think you should use BTool instead of BLE device monitor. TI recommends it now. I had the same issue with OAD header not found. The example doesn't generate the header. I had to use OAD Image Tool separately to create my own header.

    Mario