ifeq ($(WINDOWS),1)
PREFIX=i686-w64-mingw32-
SRC += serial-win.c
-CFLAGS += -static -mwindows -DDEFPORT="COM4:"
+CFLAGS += -static -mwindows
else
-CFLAGS += -fPIC -DDEFPORT="/dev/ttyUSB0"
+CFLAGS += -fPIC -static #-m32
SRC += serial.c
endif
#define BAUD_RATE 19200
-#define STRINGIFY(n) #n
-
-#ifdef DEFPORT
-#define PORT_NAME STRINGIFY(DEFPORT)
+#ifdef _WIN32
+#define PORT_NAME "COM4:"
#else
#define PORT_NAME "/dev/ttyUSB0"
#endif
errorlevel -302
-#include "p16f1455.inc"
-
-; CONFIG1
- __config _CONFIG1, 0xFCC
-;; __CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_SWDTEN & _PWRTE_ON & _MCLRE_ON & _CP_OFF & _BOREN_ON & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
-; CONFIG2
- __config _CONFIG2, 0x16CF
-; __CONFIG _CONFIG2, _WRT_OFF & _CPUDIV_NOCLKDIV & _USBLSCLK_48MHz & _PLLMULT_3x & _PLLEN_DISABLED & _STVREN_ON & _BORV_LO & _LPBOR_ON & _LVP_OFF
-
-
-#define max_flash 0x2000
-#define row_size 32
+#include "cpuselect.inc"
; 16F1455 errata says self-program only works <= 4MHz clock
xtal EQU 4000000
; banksel TRISC
; BSF TRISC,5 ; RC5 as input
; BCF TRISC,4 ; RC4 as output
- banksel PORTC
- CLRF PORTC
+ banksel SERIAL_PORT
+ CLRF SERIAL_PORT
+
+#ifdef SERIAL_ANSEL
+ banksel SERIAL_ANSEL
+ CLRF SERIAL_ANSEL
+#endif
- BTFSC PORTC,5 ; RC5 is Clear (break state) carry on
+ BTFSC SERIAL_PORT,SERIAL_RXPIN ; RC5 is Clear (break state) carry on
BRA AppVector ; Was not clear, launch app instead
; Lets start the bootloader properly
banksel OSCCON
- MOVLW b'00110100'
+ MOVLW OSC_4MHZ
MOVWF OSCCON ; 4Mhz clock mode
BTFSS OSCSTAT,HFIOFR
BRA $-1 ; wait until oscillator is ready
CALL SendByte
; Wait for PC to drop the break condition
- banksel PORTC
- BTFSS PORTC,5
+ banksel SERIAL_PORT
+ BTFSS SERIAL_PORT,SERIAL_RXPIN
BRA $-1
; Transmit device ID
#
-#Fri Sep 27 17:16:44 BST 2013
+#Tue Oct 01 12:20:41 BST 2013
+default.languagetoolchain.version=5.52
+conf.ids=default,12F1840
default.languagetoolchain.dir=/opt/microchip/mplabx/mpasmx
+default.com-microchip-mplab-nbide-toolchainMPASMWIN-MPASMWINLanguageToolchain.md5=dc1e238caba4e98e3e2f2da7006384df
+12F1840.languagetoolchain.dir=/opt/microchip/mplabx/mpasmx
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=0d2b1469ad71adb787c711a416386331
-default.languagetoolchain.version=5.52
+12F1840.com-microchip-mplab-nbide-toolchainMPASMWIN-MPASMWINLanguageToolchain.md5=dc1e238caba4e98e3e2f2da7006384df
+12F1840.languagetoolchain.version=5.52
host.platform=linux
-conf.ids=default
-default.com-microchip-mplab-nbide-toolchainMPASMWIN-MPASMWINLanguageToolchain.md5=dc1e238caba4e98e3e2f2da7006384df
PROJECTNAME=mybootload.X
# Active Configuration
-DEFAULTCONF=default
+DEFAULTCONF=12F1840
CONF=${DEFAULTCONF}
# All Configurations
-ALLCONFS=default
+ALLCONFS=default 12F1840
# build
# clobber
.clobber-impl: .clobber-pre .depcheck-impl
${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean
+ ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=12F1840 clean
# all
.all-impl: .all-pre .depcheck-impl
${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build
+ ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=12F1840 build
CND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package
CND_PACKAGE_NAME_default=mybootload.x.tar
CND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/mybootload.x.tar
+# 12F1840 configuration
+CND_ARTIFACT_DIR_12F1840=dist/12F1840/production
+CND_ARTIFACT_NAME_12F1840=mybootload.X.production.hex
+CND_ARTIFACT_PATH_12F1840=dist/12F1840/production/mybootload.X.production.hex
+CND_PACKAGE_DIR_12F1840=${CND_DISTDIR}/12F1840/package
+CND_PACKAGE_NAME_12F1840=mybootload.x.tar
+CND_PACKAGE_PATH_12F1840=${CND_DISTDIR}/12F1840/package/mybootload.x.tar
displayName="Header Files"
projectFiles="true">
<itemPath>spbrgselect.inc</itemPath>
+ <itemPath>cpuselect.inc</itemPath>
</logicalFolder>
<logicalFolder name="LinkerScript"
displayName="Linker Files"
<property key="extended-mode-mplink" value="false"/>
</mpasmsuite>
</conf>
+ <conf name="12F1840" type="2">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <targetDevice>PIC12F1840</targetDevice>
+ <targetHeader></targetHeader>
+ <targetPluginBoard></targetPluginBoard>
+ <platformTool>ICD3PlatformTool</platformTool>
+ <languageToolchain>MPASMWIN</languageToolchain>
+ <languageToolchainVersion>5.52</languageToolchainVersion>
+ <platform>2</platform>
+ </toolsSet>
+ <compileType>
+ <linkerTool>
+ <linkerLibItems>
+ </linkerLibItems>
+ </linkerTool>
+ <loading>
+ <useAlternateLoadableFile>false</useAlternateLoadableFile>
+ <alternateLoadableFile></alternateLoadableFile>
+ </loading>
+ </compileType>
+ <makeCustomizationType>
+ <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
+ <makeCustomizationPreStep></makeCustomizationPreStep>
+ <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
+ <makeCustomizationPostStep></makeCustomizationPostStep>
+ <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
+ <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>
+ <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>
+ </makeCustomizationType>
+ <ICD3PlatformTool>
+ <property key="AutoSelectMemRanges" value="auto"/>
+ <property key="Freeze Peripherals" value="true"/>
+ <property key="SecureSegment.SegmentProgramming" value="FullChipProgramming"/>
+ <property key="ToolFirmwareFilePath"
+ value="Press to browse for a specific firmware version"/>
+ <property key="ToolFirmwareOption.UseLatestFirmware" value="true"/>
+ <property key="debugoptions.useswbreakpoints" value="false"/>
+ <property key="hwtoolclock.frcindebug" value="false"/>
+ <property key="memories.aux" value="false"/>
+ <property key="memories.bootflash" value="false"/>
+ <property key="memories.configurationmemory" value="false"/>
+ <property key="memories.eeprom" value="true"/>
+ <property key="memories.flashdata" value="true"/>
+ <property key="memories.id" value="true"/>
+ <property key="memories.programmemory" value="true"/>
+ <property key="memories.programmemory.end" value="0xfff"/>
+ <property key="memories.programmemory.start" value="0x0"/>
+ <property key="poweroptions.powerenable" value="false"/>
+ <property key="programoptions.eraseb4program" value="true"/>
+ <property key="programoptions.preserveeeprom" value="false"/>
+ <property key="programoptions.preserveprogramrange" value="false"/>
+ <property key="programoptions.preserveprogramrange.end" value="0xfff"/>
+ <property key="programoptions.preserveprogramrange.start" value="0x0"/>
+ <property key="programoptions.preserveuserid" value="false"/>
+ <property key="programoptions.testmodeentrymethod" value="VPPFirst"/>
+ <property key="programoptions.usehighvoltageonmclr" value="false"/>
+ <property key="programoptions.uselvpprogramming" value="false"/>
+ <property key="voltagevalue" value="5.0"/>
+ </ICD3PlatformTool>
+ <MPASMWIN-AS>
+ <property key="cross.reference.file" value=""/>
+ <property key="default.radix" value="HEX"/>
+ <property key="enable.case.sensitivity" value="true"/>
+ <property key="hex.output.format" value="INHX32"/>
+ <property key="preprocessor.macros" value=""/>
+ <property key="warning.level" value="0"/>
+ </MPASMWIN-AS>
+ <MPASMWIN-LD>
+ <property key="cod-file" value="false"/>
+ <property key="extra-lib-directories" value=""/>
+ <property key="hex-output-format" value="INHX32"/>
+ <property key="map-file" value="${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.map"/>
+ </MPASMWIN-LD>
+ <mpasmsuite>
+ <property key="absolute-mode" value="false"/>
+ <property key="eeprom-width" value="8"/>
+ <property key="extended-mode" value="false"/>
+ <property key="extended-mode-mpasm" value="false"/>
+ <property key="extended-mode-mplink" value="false"/>
+ </mpasmsuite>
+ </conf>
</confs>
</configurationDescriptor>
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="62">
<projectmakefile>Makefile</projectmakefile>
- <defaultConf>0</defaultConf>
+ <defaultConf>1</defaultConf>
<confs>
<conf name="default" type="2">
- <platformToolSN>:=MPLABCommUSB:=04D8:=9009:=0100:=Microchip Technology, Inc. (www.microchip.com):=MPLAB ICD3 tm (www.microchip.com):=JIT123410560:=x:=en</platformToolSN>
+ <platformToolSN></platformToolSN>
+ <languageToolchainDir>/opt/microchip/mplabx/mpasmx</languageToolchainDir>
+ <mdbdebugger version="1">
+ <placeholder1>place holder 1</placeholder1>
+ <placeholder2>place holder 2</placeholder2>
+ </mdbdebugger>
+ <runprofile version="6">
+ <args></args>
+ <rundir></rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ <conf name="12F1840" type="2">
+ <platformToolSN></platformToolSN>
<languageToolchainDir>/opt/microchip/mplabx/mpasmx</languageToolchainDir>
<mdbdebugger version="1">
<placeholder1>place holder 1</placeholder1>