Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÈçºÎÔÚMacÉÏ×öǶÈëʽ¿ª·¢£¿
 
×÷ÕߣºMr__C À´Ô´£º¼òÊé ·¢²¼ÓÚ 2016-11-28
  5508  次浏览      29
 

ǰÑÔ

ĿǰǶÈëʽ¿ª·¢Æ½Ì¨°´ÕÕÐÔÄÜ¿ÉÒÔ·ÖΪÁ½À࣬һÖÖÊÇCPUÖ»ÓÐÊýÊ®Õ׵ĵ¥Æ¬»ú£¬Ò»ÖÖÊDZȽϸ߼¶µÄ¿ÉÒÔÅÜLinuxÉõÖÁAndroidµÄǶÈëʽƽ̨£¨ÆäʵiPhone¡¢AndroidÊÖ»ú¶¼ÊôÓÚǶÈëʽ²úÆ·£©¡£

ºóÕßÒ»°ã»ùÓÚLinux/unix²Ù×÷ϵͳ×ö½»²æ±àÒë,µ«ÊÇǰÕßÍùÍù¸ü¶àµÄÊÇÔÚKeilÉÏ×ö¿ª·¢£¬µ«ÓÉÓÚ±¾È˸öÈ˹ØÏµ£¬±È½Ï²»Ï²»¶Keil½çÃæ£¬ËùÒÔÒ»°ãÔÚ×öǶÈëʽ¿ª·¢µÄʱºò£¬¶¼»áÓÅÏÈ¿¼ÂÇÊÇ·ñÓÐLinux/unixÀàµÄSDK£¨Ö¸°üº¬±àÒ빤¾ß£©¡£µ«ËƺõMac OSXÉÏ×öǶÈëʽ¿ª·¢µÄÈËÔ±½ÏÏ¡ÉÙ£¬hum...Òò´Ë×ÊÁÏÒ²»áÏà¶Ô½ÏÉÙ¡£

±¾ÎÄËù¾ÙÀý×Ó£¬ÊÇǧǧÍòÍòÖÖǶÈëʽоƬµÄÒ»ÖÖ£¬²¢²»¾ß±¸ÆÕ±éÐÔ£¬µ«¶ÁÍê±¾ÎÄÓ¦¸ÃÒ²»áÈÃÄãÂÔÓÐÊÕ»ñ¡£

ϵͳ»·¾³

²Ù×÷ϵͳ£º OS X EI Capitan £¨10.11.5£©

Ó²¼þƽ̨£º nRF51822 £¨Nordic BLE оƬ£©¿ª·¢°å

ʲôÊÇǶÈëʽ¿ª·¢ £¿

»ùÓÚǶÈëʽƽ̨Ëù½øÐеĵײ㿪·¢£¬ÎÒÃdzÆÖ®Îª¡°Ç¶Èëʽ¿ª·¢¡±¡£

ÄÇôÏÖÔÚ´«ËµÖеijÌÐòÔ³£¬ÄÄЩԳÀàÊÇÊôÓÚǶÈëʽ¿ª·¢µÄÄØ£¿

¾Ù¸öÁÐ×Ó£ºËäÈ»ÊÖ»úÊôÓÚǶÈëʽÉ豸£¬µ«Ä¿Ç°ÈËÊýÖÚ¶àµÄAPP¿ª·¢Õß²»ÊôÓÚǶÈëʽ¿ª·¢£¬¶øÊÇÊôÓÚÓ¦Óÿª·¢ÈËÔ±£¨ÒòΪËûÃǶ¼ÊÇ»ùÓÚÊÖ»ú²Ù×÷ϵͳ½øÐбà³ÌµÄ£©¡£µ«ÊÖ»ú³§¼ÒÖÐÄÇЩ¿ª·¢ÊÖ»úµ×²ãÇý¶¯ºÍµ×²ãÓ¦ÓõÄÈËÔ±ÔòÊôÓÚǶÈëʽ¿ª·¢¡£

Ŀǰ£¬Òò½ü¼¸ÄêÒÆ¶¯»¥ÁªÍøµÄ´óÁ¦·¢Õ¹£¬Ê¹µÃ WebÔ³ ºÍ APPÔ³ ×åȺ×îΪÅÓ´ó¡£

ʲôÊǽ»²æ±àÒ룿

¼òµ¥À´Ëµ£¬ÔÚCÓïÑÔ£¨°üÀ¨µ«²»ÏÞÓÚ£©±àÒë¹ý³ÌÖлá·ÖΪËĸö½×¶Î£º Ô¤´¦Àí -> ±àÒë -> »ã±à -> Á´½Ó

µ«ÊÇÔÚÒÔÉϹý³ÌÖУ¬ÐèÒªÕ¼Óá°´óÁ¿×ÊÔ´¡±£¬ÔÚǶÈëʽÉ豸£¨Ç¶ÈëʽÉ豸µÄÉè¼ÆÒª¾÷Ö®Ò»¾ÍÊÇÄÜÊ¡ÔòÊ¡£©Öв¢²»¾ß±¸¸Ã×ÊÔ´£¨Èç±àÒëÆ÷¡¢×ã¹»¿ìµÄCPU¡¢ÄÚ´æµÈ£©£¬ËùÒÔÐèÒª½èÖúÎÒÃǵÄPCƽ̨½øÐбàÒë¡£ÕâÖÖÔÚÒ»ÖÖÆ½Ì¨±àÒ룬ÁíÒ»ÖÖÆ½Ì¨ÔËÐеıàÒ룬ÎÒÃdzÆÖ®Îª½»²æ±àÒë¡£

³ÌÐòÊÇÔõÑù±»´´ÔìµÄ£¿

ÔÚ³ÌÐò±»´´Ôìµ½Óû§ÊÖÉϵĹý³ÌÖУ¬³ýÁËϵͳÌṩµÄAPIs£¬³ÌÐòÔ±ÐèÒªÈýÖֱز»¿ÉÉÙ¹¤¾ß£º

ÊäÈ빤¾ß£º´úÂë±à¼­Æ÷£¬Èç Vim£¬Notepad++¡¢Sublime

±àÒ빤¾ß£º±àÒëÆ÷£¬¿ÉÒÔ½«ÈËÀàËùдµÄ´úÂëת»¯Îª»úÆ÷Äܶ®µÄ¶þ½øÖÆÎļþ£¬Èç GCC¡¢Clang¡¢Javac

²âÊÔ¹¤¾ß£º³ÌÐòËùÔËÐеĻ·¾³£¬ÈçiPhone¡¢Android¡¢PC£¨Linux¡¢Mac¡¢Windows£©

¼¯³ÉÁËÒÔÉÏǰÁ½Ï¾ßµÄ¹¤¾ß£¬ÎÒÃdzÆÖ®ÎªIDE£¬ÈçXcode¡¢Visual Studio ¡¢Eclipse¡¢Keil¡£

nRF51822¿ª·¢¹¤¾ß

Èç¹ûÄãÏëÒª¸úËæ±¾ÎÄÒ»ÆðʵÑ飬Ê×ÏÈ£¬ÄãÐèÒª¹ºÈëÒ»¿énRF51822¿ª·¢°å£¬ÏñÕâÑùµÄ£º

±¾ÎÄÖ÷Òª½éÉÜMacÉϵÄÈí¼þ¿ª·¢¹¤¾ß£¬ÔÚnRF51822¿ª·¢¹ý³ÌÖУ¬Èí¼þÎÒÃÇÐèÒªSDK¡¢±àÒëÆ÷ÒÔ¼°J-LinkÇý¶¯Èí¼þ£º

nRF5-SDK£ºSDKÓɳ§ÉÌÌṩ£¬µã»÷½øÈë¹Ù·½ÍøÕ¾ºó£¬Ñ¡ÔñĿǰ×îеÄ11.0.0°æ±¾½øÐÐÏÂÔØ£º

±àÒëÆ÷£ºÏÂÔØºÃ¹Ù·½SDKºó£¬´ò¿ªSDKÖеÄMakefile.posixÎļþ£¬¿ÉÒÔ¿´µ½¸Ã°æ±¾SDKËùÓõÄgcc±àÒëÆ÷°æ±¾¡£

½øÈëµ½gcc-arm¹ÙÍøºó£¬Ñ¡ÔñÏà¶ÔÓ¦°æ±¾µÄ±àÒëÆ÷ÏÂÔØ£¨Ïà¶ÔÓÚLinuxºÍWindowsµÄÏÂÔØÁ¿£¬Mac°æ±¾ºÃ²Òµ­... =_=)

J-LinkÇý¶¯£ºnRF51822²ÉÓà J-Link½øÐгÌÐòÏÂÔØ£¬ËùÒÔÎÒÃÇÐèÒªÏÂÔØMac°æµÄJ-LinkÇý¶¯¡£

nRF51822»·¾³´î½¨¼°²âÊÔ

°²×°±àÒëÆ÷

½«ÏÂÔØºÃµÄ±àÒ빤¾ßÁ´½âѹµ½ /usr/local Ŀ¼Ï£º

sudo tar -jxvf gcc-arm-none-eabi-4_9-2015q1-20150306-mac.tar.bz2 /usr/local/

Ö´Ðкó²é¿´ÊÇ·ñ³É¹¦£º

±àÒëÀý×Ó

½øÈëµ½ÏÂÔØºÃµÄSDKÖУ¬ÕÒÒ»¸öÀý×Ó£¬È磺

 cd  $(nRF_51SDK)/examples/ble_peripheral/ble_app_beacon/pca10028/s130/armgcc
make all

±àÒëÍê³Éºó£¬»áÉú³ÉÏà¶ÔÓ¦µÄbinÎļþ£º

ÏÂÔØ¹Ì¼þÖÁ¿ª·¢°å

J-Link·½Ê½Ð´Èë

ÔÚ°²×°ÍêJ-Link_for_mac°æ¹¤¾ßºó£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÏµÍ³ÖÐÒѾ­ÓÐÁËÒÔÏÂÃüÁîÐй¤¾ß£º

ÀûÓÃÃüÁîÐнøÈëJ-LinkÌṩµÄshellÖУº

JLinkExe -device nrf51822_xxaa -if swd -speed 4000

-device Ö¸¶¨ÁËоƬÀàÐÍ£¬J-LinkÖ§³ÖµÄ¿ª·¢°åÀàÐÍ¿ÉÔÚjlink_supported_devices²éѯ¡£

ÊäÈëÉÕ¼ÃüÁ

J-Link >loadbin s130_nrf51_2.0.0_softdevice.hex 0
J-Link>loadbin nrf51422_xxac_s130.hex 0x1B000
J-Link>r
J-Link>go

loadbinÊÇÉÕ¼µÄÃüÁ*.hexÊÇÉÕ¼µÄ¹Ì¼þ£¬0x1B000ÊÇÉÕ¼µØÖ·¡£rÊÇreset£¬goÊÇÆô¶¯¡£

µ±flash³öÏÖ´íÎóʱ£¬ÎÒÃÇÐèÒª²Á³ýfalsh£¬´ËʱÎÒÃÇÒªÓÃMagic·½·¨£¬·Ö±ðÍùÁ½¸öµØÖ·ÖÐдÈë1ºÍ2£º

 J-Link>w4 4001e504 2
J-Link>w4 4001e50c 1

¿ÉÒÔÔÚMakefile.posixÖÐÌí¼ÓÈçÏÂÃüÁÈñàÒëÍê³Éºó×Ô¶¯ÉÕ¼£º

GNU_INSTALL_ROOT := /usr/local/gcc-arm-none-eabi-4_8-2014q2
GNU_VERSION := 4.8.3
GNU_PREFIX := arm-none-eabi
GDB_PORT_NUMBER := 9992

FLASH_START_ADDR = $(shell $(OBJDUMP) -h \
$(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out -j .text | grep .text | awk '{print $$4}')

JLINK_OPTS = -device nrf51822 -if swd -speed 4000
JLINK_GDB_OPTS = -noir
JLINK = JLinkExe $(JLINK_OPTS)
JLINKD_GDB = JLinkGDBServer $(JLINK_GDB_OPTS)


flash-jlink: flash.jlink
$(JLINK) flash.jlink

flash.jlink:
printf "loadbin $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).bin $(FLASH_START_ADDR)\nr\ng\nexit\n" > flash.jlink

erase-all: erase-all.jlink
$(JLINK) erase-all.jlink

erase-all.jlink:
# Write to NVMC to enable erase, do erase all, wait for completion. reset
printf "w4 4001e504 2\nw4 4001e50c 1\nsleep 100\nr\nexit\n" > erase-all.jlink

run-debug:
$(JLINKD_GDB) $(JLINK_OPTS) $(JLINK_GDB_OPTS) -port $(GDB_PORT_NUMBER)

.PHONY: flash-jlink flash.jlink erase-all erase-all.jlink run-debug

ÀûÓùٷ½ÌṩµÄÃüÁîÐй¤¾ß

ÔÚ ¹Ù·½¹Ì¼þÏÂÔØÁбíÖÐÌṩÁËÃüÁîÐй¤¾ß£ºnrfjprog and mergehex¡£

ÆäÖÐnrfjprogÓÃÓÚÉÕ¼³ÌÐò£¬mergehexÓÃÓںϲ¢hexÎļþ¡£°²×°ºÃnrfjprogºÍmergehex¹¤¾ßºó£¬ÎÒÃÇÖ»ÐèÒªÔÚÉÏÊöµÄ¹¤³ÌĿ¼Ï£¬ÊäÈ룺

   make flash #ÉÕ¼ӦÓóÌÐò
make flash_softdevice #ÉÕ¼ϵͳÄÚºË

¼´¿ÉÍê³É¹Ì¼þµÄÉÕд¡£

Íê

ÖÁ´Ë£¬nRF51822 ÔÚMacÖеĿª·¢»·¾³´î½¨Íê±Ï¡£

 

 

   
5508 ´Îä¯ÀÀ       29
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
ÔÆ¼ÆËãÓëWindows AzureÅàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ